TUIO Interface

UPDD Commander can function as a TUIO server, that can be enabled to direct touches to a TUIO client application, and also as a TUIO client, to receive data from an independent TUIO server used to control touches on a system monitor.

TUIO Client applications are applications that have be written, or have an option, to receive touch information via the TUIO protocol.

The pathway schematic being:

Touch hardware > UPDD driver > UPDD API > UPDD Commander TUIO Server > TUIO client application > End user interaction

In some systems only TUIO is required to service TUIO client applications in this case Commander is configured for TUIO only by setting 'All Application' to be set for TUIO only. In other cases individual applications will be set as TUIO clients.

All Applications TUIO configuration

In this case Commander is set to work exclusively as a TUIO server and only dispatch touch via the TUIO interface. Gesture functionality is disabled.

You can use the Add Preset to switch to the 'All Application' TUIO configuration:

When Commander is configured to function only as a TUIO server there are some additional advanced options:

Configure TUIO servers separately for each UPDD device

If required you can configure UPDD TUIO to send touches to different ports depending on which touch screen it comes from, in essence running multiple TUIO servers at once, one for each touch screen. This checkbox switches between using the same TUIO host and port for all displays, and using different settings for each display. When checked, it lists each display configured in the driver and gives a field for setting its host and port.  If this is not required then you can define the local IP address and post on which to transmit all touch data. Since most usage cases for a TUIO server is to have it running locally on the same computer that the TUIO client programs are running on then a reasonable default configuration is for it to use localhost with the default TUIO IP address (, port number (3333) and packet size.

Divide X axis evenly between the devices associated with a TUIO server

When unchecked, all UPDD touches are converted directly to TUIO cursors without any changes to the parameterization of their coordinates. So all devices will use a range of 0.0 - 1.0 for the x coordinate of the TUIO cursors, and it will not be possible to distinguish which UPDD device they originated from.

When checked, each UPDD device will be given, in left to right order, a different, equal portion of the X-axis which its TUIO cursors will be parameterized to. This allows a TUIO client to determine which touch device a cursor originates from. For example, if there are four UPDD devices, then all touches on the leftmost device will be converted to TUIO cursors where their minimum X value is 0 and their maximum X value is 0.25. The touches on the second device from the left will have a parameterization of 0.25 to 0.5, the third device will have a parameterization of 0.5 to 0.75, and so on. The left to right order is determined by the system's display configuration. To get the proper coordinates for a TUIO device, simply reparameterize the X coordinates to a range of 0.0 to 1.0. The Y coordinates are unaffected

Individual application TUIO configuration

Specifying a TUIO client application in UPDD Commander is very straight-forward:

  1. Add the TUIO Client application in the Application list
  2. Add the All Touches - Convert Touches to TUIO option for the application
  3. Set the required application settings (defaults are likely to be OK if the Client application is running on the same computer)
  4. Disable inherited settings if gestures are not required to be posted to the TUIO client application


TUIO settings fall into two categories, application and server related.


These setting relate to the individual TUIO client application.

Touch positions

The can be either scaled or unscaled into the client application.

Scaled - touches from the entire touch screen are scaled into the application workspace

Unscaled - only touches that occur over the application are passed to the application

Host and server port

Defines the local IP address and post on which to transmit all touch data.

In most usage cases the TUIO server will be running locally on the same computer as the TUIO client program then a reasonable default configuration is for it to use localhost with the default TUIO IP address (, port number (3333)


These settings relate to the TUIO server and are located in the main Settings dialog, TUIO tab:

Send TUIO packets at the same rate as the UPDD

The TUIO server time stamps TUIO frames. By default this is as close as possible to 60 frames per second as per the TUIO specification. This setting can be used to transmit the frames at the same rate they are received from the driver albeit this does not conform to the TUIO specification. Any application written to retrieve frame times will also receive valid timestamps.

In our tests we achieved a UPDD TUIO data rate up to about 200 packets per second, although this speed will vary depending on hardware in use.

Send TUIO packets using WebSocket protocol in addition to UDP

This setting indicates that TUIO packets are transmitted using the WebSocket protocol in addition to the UDP protocol. This is required to satisfy Browsers using our Browser TUIO bridge implementation.


These settings relate to the UPDD Commander running as a TUIO client application configured to receive data from an independent TUIO server to control touch on a specified monitor:

To enable this function enable the ‘Receive touches from TUIO’ and specify the relevant port. Further, in a multi-monitor system select the monitor to be controlled.

Browser considerations

Within UPDD Commander web browsers can be configured to offer iOS (iPhone/iPad) emulation or to receive touch via TUIO to satisfy multi-touch browser applications as described here.


UPDD Test has an option to Render Touches from TUIO Interface and thus acting as a TUIO client. It is for this reason UPDD Test is defined in the Application List as a separate entry such that it is configured as a TUIO Client application (as shown in the application settings example above).