Test program


 ​The latest UPDD test program described below is used in Windows and macOS. Linux uses a slightly older version that does not have all the features described.
As of April 2024, internal UPDD Client programs prioritise touch API usage to avoid a clash of touch control between, Annotate, Commander, Test and the driver, such that only one test program can now run and others are blocked. Co-ordinate input from all UPDD supported devices is shown in the inking area of the single test dialog irrespective of its desktop location.

The UPDD test program is used to test touch input is working as expected.  This program, if installed, can be invoked from the UPDD Daemon menu by selecting the Test option or directly from the Utilities folder under MacOS or the UPDD application folder under Windows or Linux.  If the Test option is missing, it implies the utility is not installed. If this is the case, the latest version is available here for Windows and Mac, Linux 32bit and 64bit. These should be copied to the relevant folders depending on the OS in use. Source code for this utility is also available here.

You can also run the test program directly if required:

OS Command 
Windows cd /program files (x86)/updd
UPDD test.exe
MacOS /Applications/Utilities/UPDD\ Test.app/Contents/MacOS/UPDD\ Test
Linux /opt/updd/upddenv /opt/updd/UPDD\ Test

The test program can either render the touches from the driver's API interface, the TUIO interface, native touch events or related to actual mouse emulation as selected in the options menu below.

Whilst testing, mouse emulation (cursor movement, clicks etc) will be enabled unless you explicitly select it to be disabled. Emulation can be performed by the driver (Mouse or Touch interface) or UPDD Commander (Gestures). You will be warned that you will need another pointer device (e.g. mouse) to use the system if neither emulation options are enabled. If selecting Gesture option UPDD Commander must be active and configured to perform mouse emulation (e.g. One Finger drag - set to Click and Drag)

Option menu




 

When used in a Linux multi-touch environment (uinput.multi_touch=1) the test program filters out QT touch events (the development tool used to create the test program) as this caused a crash in the QT library. This means that with multi-touch enabled you cannot see the mouse emulation inking. UPDD API and TUIO inking is unaffected

Source Description 
UPDD API Shows the co-ordinate data received on the driver's API.  The ink line is labelled UPDD device N touch N.  When showing touches from the driver's API they can either be scaled into the drawing area (touches from the the entire touch screen are scaled into the test drawing area) or non scaled (only touches performed over the drawing area are shown and should be directly under the stylus on a calibrated touch screen).  
TUIO Interface    If UPDD TUIO server is installed and enabled then this will show the co-ordinate data received via the TUIO protocol.  The ink line is labelled 'Scaled TUIO cursor N'. In the case of TUIO this is not the same as calibrated.
Mouse events If standard mouse emulation is enabled this shows the drawing associated with mouse emulation.  The ink line is labelled 'mouse button 1'.
Qt events Qt is a cross-platform application framework that is used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying code base, while still being a native application with native capabilities. The ink line is tagged 'Qt touch n'.
This option was added to see how well Qt touch applications, using native touch events, performed in various OS. Windows works well, MacOS seems to have some quirks and Linux does not work at all. We have since discovered that this is due to the QT library release we use in the UPDD software suite, including the test program. We use a particular version so as to support older OS, such as XP in Windows and older legacy Linux systems. End user applications that utilise more recent versions of the QT library (5.11 and above) report the QT touch events are processed correctly.

When drawing on the touch screen, the inking in the UPDD Test drawing area that relates to the 'mouse events' should be under the stylus in a calibrated system. The position of the inking in the drawing area associated with UPDD API and TUIO interface will be dependent on the scaled / non-scaled setting.

If UPDD Commander or the UPDD gesture API extension is running then information about the current gesture being performed is also shown at the bottom of the drawing area: 'Current gesture for device n: [gesture]' along with the screen position (pixel) of the touch

The full screen mode displays a grid with an option to exit full screen.  Further, if using a pressure device (pens, touch screens with pressure) it will display the pressure value on screen, the line will be thicker depending on the pressure, and if using a pen that supports an eraser function (normally inverted) will erase rather than paint.

Scaled / Non scaled

In scaled mode all API and TUIO touches are scaled down into the UPDD test drawing area so the inking will not be under the point of touch.

In non-scaled mode, the inking is not distorted and in a correctly calibrated system should be drawn under the point of touch. However please note that in some complex Linux monitor configurations this may not be the case as UPDD test will be unaware of the driver's desktop segmentation setup used to cater for these configurations.

Show Event Data

When enabled, this lists event data related to the contacts being performed in the drawing area, colour coded to match the corresponding inking:

Selecting an event data entry will show driver data relating to the event (contact point) and highlight the contact point (crosshair) within the drawing area as shown below. You can use the keyboard up and down arrows to transverse the list.

This information can be useful to determine some of the characteristics of the device / stylus in use, such as does it pass pressure data or width and height information, such that UPDD Commander settings related to these values could be utilised.

It can also to help understand some of the contact information available on the driver's Application Programmers Interface. The displayed information will be relevant to the device in use, such as touch screen or pen.

The event data names shown are taken from the API and are useful to understand the data available to applications using the API.

The meaning of the individual items is as follows:

Name Meaning 
 isTimed Indicates if it's a timed liftoff or a 'pen up' packet
 isToolbar Indicates if the touch is within a toolbar
 Screen The touch position in pixels.
 Internal
Video X and Y co-ordinates relative to the 0,0 co-ordinate of the primary monitor. Can be negative if the touched position is to the left or top of the primary monitor.
 Cal Calibrated X and Y co-ordinates in the range 0 - 66535
 Raw Raw X and Y co-ordinates from the device
 zSupport Indicates if the device passes pressure data
 stylusSupport Indicates that the touch packet carries a stylus value 
 touchingLeft 1 = active left click touch, 0 non touch (last data packet)
 touchingRight 1 = active right click touch, 0 non touch (last data packet)

Create Diagnostics

This allows the test program to be used to capture diagnostics data to aid the investigation of any touch issues.

In older versions of the Test app the invoke Diagnostics option is on the main dialog, in latter versions its on the Options menu.

You simply invoke the diagnostics, draw or replicate the touch issue on the touchscreen, and then Finish Diagnostics to create the UPDD Diagnostics file.

Touch Log

In addition to the above, a touch log can be displayed via the Options menu, Show Log window option to view relevant driver touch events:

In the above example, three different UPDD devices have been used with the log enabled, with device 2 also passing over pressure data.

Pressure support

Starting with version 1.04 of the test program (Sept 2019) the test program caters for pressure data, as shown below.

The line thickness relates to the pressure value, and the pressure value is also shown in the touch log.

UPDD Test parameters

The UPDD test program can accept a number of arguments as described:

Argument Description 
 -h, --help  Displays this help.
 -v, --version  Displays version information.
 -u, --updd  Render events from UPDD interface (default)
 -t, --tuio  Render events from TUIO interface
 -m, --mouse  Render mouse events
Source Description 
 UPDD API  Shows the co-ordinate data received on the driver's API.  The ink line is labelled UPDD device N touch N.  This can be scaled (as per the touch screen's calibration) or non scaled
 TUIO Interface  If UPDD TUIO server is installed and enabled then this will show the .  The ink line is labelled 'Scaled TUIO cursor N'. In the  case of TUIO this is now the same as calibrated.
 Mouse events  If mouse emulation is enabled this shows the drawing associated with mouse emulation.  The ink line is labelled 'mouse button 1' 

Source Description 
 UPDD API  Shows the co-ordinate data received on the driver's API.  The ink line is labelled UPDD device N touch N.  This can be scaled (as per the touch screen's calibration) or non scaled
 TUIO Interface  If UPDD TUIO server is installed and enabled then this will show the .  The ink line is labelled 'Scaled TUIO cursor N'. In the  case of TUIO this is now the same as calibrated.
 Mouse events  If mouse emulation is enabled this shows the drawing associated with mouse emulation.  The ink line is labelled 'mouse button 1' 

W

These arguments can be used to invoke UPDD Test starting with a different default render, as per this MacOS example to render mouse events:

 "/Applications/Utilities/UPDD Test.app/Contents/MacOS/UPDD Test" --mouse