Virtual HID device association


For each operating system there are generally two system interfaces used to post touch data into the OS, being either a 'simple single touch mouse type input' or a 'multi-touch interface' as implemented within the individual operating systems.

When a touch screen is configured in the system the driver needs to know the monitor that is associated with the touch screen so it can direct the touch to the correct display, such that, for example, in a dual monitor system you want the touch on the individual touch screens to be activated on the correct monitor.

Associating a UPDD touch device with a specific desktop is described here.

However, in Windows 7 and above UPDD employs the use of a Virtual HID device to post multi-touch data into the OS. This means that there is both a physical touch device and a virtual HID device, both of which need to be associated with the correct monitor if the touch is to be activated on the correct monitor.

The Virtual HID device binding information is Windows system information held in the registry (digimon mapping) and is normally set up by Windows but UPDD can also setup this information using the monitor mapping function built into the UPDD software.

This function is invoked to associate a virtual touch device with a physical monitor and allows for HID touch mode touches to be directed to the correct monitor without additional manual configuration.

This function generates a touch on each monitor in turn to gather the required information. The touch is directed to a temporary invisible window so the touch does nothing so long as mouse and touch are not used during this detection phase.

During the process there will be cursor movement into the left corner of each monitor with the cursor returning to it original position at the end of the procedure.

If UPDD notifications are enabled you will see these notifications at the start and end of the process:

   

In some cases this cursor movement is undesirable. This feature can be controlled via the monitor.mapping_event setting by specifying when this operation occurs:

0 - never - see notes below

1 - once only at installation time 
2 - as required  - default setting, see notes below

Use the command line interface to set as required - upddutils nodevice set monitor.mapping_event n

Notes

  1. If monitor.mapping_event is set to never and the Virtual HID interface is used in a multi-monitor system there is a possibility that touches will not be directed to the correct monitor. In this case you will need to manually setup the HID / desktop association using the Windows Tablet PC setup utility.

    This is invoked via the Windows Control Panel, Tablet PC Settings, Setup procedure:

     

  2. When monitor.mapping_event is set to as required the function will be triggered at installation and when any changes are made to the monitor layout, such as adding, removing or switching monitors.
  3. If at any time the Windows Tablet PC utility, seen above, is used to manually set up the HID / desktop associations it is likely that you will need to re-configure / calibrate to UPDD devices using the UPDD configure utility.