Igloo Core Engine

Touch Screen Support

Igloo Core Engine supports a range of touch and interactive input solutions, allowing users to interact directly with content displayed on the canvas. Touch input can be received either via network-based protocols or through native operating system input, depending on the hardware and setup.

Touch input is mapped directly onto the Igloo canvas and behaves in a similar way to mouse input, enabling interaction with layers, UI elements, and on-canvas controls.

Currently, touch input is supported through the following methods:

  • TUIO (network-based touch input)

  • Native Windows touch input

These approaches can be used independently or alongside other input methods such as mouse, keyboard, or controllers.


Native Windows Touch

Igloo Core Engine supports native Windows touch events for touch-enabled displays connected directly to the PC running the engine.

  • Touch input is received via the Windows input system.

  • Touch coordinates are mapped directly to the canvas space.

  • This method is suitable for:

    • Large-format touch screens

    • Interactive panels

    • Touch-enabled projection surfaces where Windows provides direct touch input

No additional configuration is required beyond standard Windows touch calibration. Touch interactions behave equivalently to mouse input within the engine.


TUIO Protocol (Network Touch Input)

The TUIO protocol (http://www.tuio.org/) is utilised for handling touch events over a network, using UDP for data transmission.

Touch Events Handling

  • Coordinates System: Touch events are reported with fractional X and Y coordinates. These represent fractions of the total canvas size.

  • Event Mapping: These fractional coordinates are mapped directly to the canvas, functioning similarly to mouse click coordinates.

Multiple Input Device Support

  • Device Identification: Touch event inputs can be received from multiple devices. Each device is identified uniquely by its IP address and/or port number.

  • Device Assignment: Individual devices can be assigned to specific areas of the canvas. This configuration is done through the application settings (Config > General > TUIO).

Configuration Settings

  • Location: Settings are stored in the TuioSettings.xml file, located at C:\\ProgramData\\Igloo Vision\\IglooCoreEngine\\settings.

  • XML Structure:

    • <TUIO>: The root element.

    • <ROI>: Represents a Region of Interest (ROI) for a specific device.

      • <IP>: The IP address of the device.

      • <port>: The port number used for TUIO communication.

      • <X> and <Y>: The top-left coordinates of the ROI on the canvas (as fractions of total canvas size).

      • <W> and <H>: The width and height of the ROI on the canvas (as fractions of total canvas size).

Example XML Configuration

XML
<TUIO>
    <ROI>
        <IP>192.168.1.64</IP>
        <port>3333</port>
        <X>0.000000000</X>
        <Y>0.000000000</Y>
        <W>0.500000000</W>
        <H>0.982999980</H>
    </ROI>
    <ROI>
        <IP>192.168.1.64</IP>
        <port>3334</port>
        <X>0.000000000</X>
        <Y>0.500000000</Y>
        <W>0.259999990</W>
        <H>0.500000000</H>
    </ROI>
    <ROI>
        <IP>192.168.1.63</IP>
        <port>3333</port>
        <X>0.000000000</X>
        <Y>0.500000000</Y>
        <W>0.259999990</W>
        <H>0.500000000</H>
    </ROI>
</TUIO>