The standard user configuration for mainstream desktop operating systems is one user, one cursor, irrespective of the number of input devices connected to the system (monitors, touch screens, mice, keyboards etc).
However, in recent years it has been possible to configure systems to be multi-user, multi-cursor and this document describes the multi-user configurations that have been tested with UPDD and shows the software utilised and the settings required.
There are a number of products that allow for shared resources on a single base unit so that a system can be used by multiple users. To cater for this functionality the multi user software has to support multiple keyboards, multiple monitors and multiple pointer devices, such as mice and touch screens, whereby the hardware items can be allocated to individual users. This allows each user to have a dedicated keyboard, monitor and mouse. If the monitor is a touch screen monitor then the touch device also needs to be allocated to a specific user such that it controls the pointer (cursor) on the monitor allocated to that user.
These types of systems have been predominantly aimed at school / class room usage but can also be used in other environments.
These products, by in large, rely on each touch device being registered as a mouse or HID device in the device manager such that the device can be allocated to a given user.
The UPDD touch driver registers both a default HID (
The usage of these interfaces is dictated by the UPDD Extended Touch setting associated with each touch device. If enabled, touch data is fed to the OS via the HID interface, if disabled the Mouse interface is used.
Thereafter, for each UPDD PnP touch device connected to a system the driver creates additional “mouse instances” in the device manager. The design of the driver is such that non PnP serial devices do not create a mouse instance.
Prior to UPDD version 5 all cursor movement and click requests for all connected ‘Mice’ touch devices were (for internal technical reasons) passed through the default mouse instance, as shown below:
Unfortunately, this does not work well with multi user layers as they need touch data to pass through the individual HID or mouse entry associated to each touch device.
To cater for this requirement we have modified UPDD version 5.x to work in this way
In the first implementation of this we have only catered for the use of multiple mouse instances, not HID. For a future release we will be investigating if it is possible to implement a Virtual HID entry for each touch device.
UPDD touch priority setting
When UPDD is handling multiple touch devices in a singe user environment it manages the way the touches from the individual devices are passed to the mouse port interface in such a way that touches from each device cannot be interspersed. This prevents more than one touch device being used at the same time, such that the cursor would jump between the touch devices. In a multi-user environment this management is not required as the multi-user software is managing the input from each device. The UPDD management of the individual touch devices should be disabled in a multi-user environment by setting the touch priority for each device to Disable. This setting can be updated using the UPDD Command line utility as shown below:
The table below indicates some of the multi user products and shows the UPDD release tested and working or the current status of development if not working:
We believe that, in theory, with the change made in UPDD 5.0.2 most multi user type products should work so long as they support absolute touch data being delivered via the mouse interface.
Given that UPDD driver does not currently create a separate mouse instance for non PnP serial devices these cannot be used in multi-user type systems. Further changes to UPDD would be required to support these devices in multi-user environments.
If using these products in
Under Linux, multi-user devices can be configured using Xorg multiseat as described here.
As of version 5.0.2, UPDD for Linux now supports the XORG multi seat configuration where each seat (user) has a separate display. This supports a single instance of Xorg with native multiseat support as opposed to running multiple instances of xorg. Please contact us if you need added support for multiple x servers as we believe it is something we could add quite easily if required.
In order to use this facility a control file must be created to inform the driver which XORG displays are available. This file is the trigger to the driver to utilise the mulitseat interface. This plain text file must be called seats.dat and be placed in the same folder as tblinuxmouse (typically /opt/tbupddlx).
One display name should be entered on each line, e.g.
Each line in the file represents a monitor configuration starting with Monitor 1.
In the above example UPDD will treat display 0.0 as Monitor 1, and display 1.1 as Monitor 2.
To identify the display id for a given seat, log on to that seat, start a terminal Window and type
env | grep DISPLAY
The output will be something like
Giving the display id for that seat. This item would be entered in seats.dat as
(the colon “:” is required at the start of the line).
To configure a UPDD device to work with this seat (assuming the seats.dat file is as shown above) select monitor 2 for the device in question.
For further information or technical assistance please email the technical support team at firstname.lastname@example.org.