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:
||cd /program files (x86)/updd
||/Applications/Utilities/UPDD\ Test.app/Contents/MacOS/UPDD\ Test
||/opt/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)
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
||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).
||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.
||If standard mouse emulation is enabled this shows the drawing associated with mouse emulation. The ink line is labelled 'mouse button 1'.
||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]'
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.
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.
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, in this case at the point of touch down (log movement is not enabled in this example):
UPDD Test parameters
The UPDD test program can accept a number of arguments as described:
| -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
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