The driver can utilise virtual devices. These devices do not physically exist but can be used to utilise features normally associated with a real device where none actually exist.
Virtual devices are listed in the software thus:
(In this example the driver supports a real device and a virtual device)
Because virtual devices are not devices that can be physically discovered they need to be added:
Once added they allow specific device functions to be performed.
This is best understood by the following examples.
Utilising UPDD Gestures
In this example a customer is using a different MacOS driver to support an unusual touch device (not supported by UPDD) but wants to use UPDD Gestures. The driver supporting the physical touch screen implements a TUIO server so can broadcast co-ordinate data over TUIO.
UPDD Gestures will only work if UPDD is installed and supporting a device. The UPDD driver is installed and a virtual device is defined.
Gestures is configured as a TUIO client program and receives touches via TUIO and activates the appropriate action associated with the performed gesture.
Posting touch data from an external source into UPDD
A Windows user had a system receiving co-ordinate data from an external source via IP that they wanted to post into UPDD driver to control the Windows desktop using the UPDD Data inject API.
UPDD was installed with a virtual device and the device was associated with the appropriate monitor such that data posted to the device moved the pointer on the correct monitor.
A MacOS user wanted to support gestures for a i2c device. They modified their i2c driver to inject co-ordinate data into the driver configured with a virtual device. More information here.
Utilising Touch over IP function
Our own TOIP function utilises virtual devices to reroute touches from a physical touchscreen contected to one system to other computers via IP.