Multi-monitor
and device support
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
UPDD supports both
multi-monitor and multiple pointer device configurations. This means that
UPDD can cater with a system that has more than one monitor or more than one
pointer device and any combination thereof can be supported by UPDD. This document
describes the multi-monitor and device considerations for each of the
supported desktop operating systems. Please ensure you read
the notes section before using multi touch devices or multi touch monitors. Multi-monitor and multi-device notesSince UPDD 4.1.10
the driver utilises QT monitor matrix (QDesktopWidget
class) in all OS to retrieve monitor layout information and monitor handling.
For successful UPDD multi-monitor operation the QT monitor properties must
see either different monitor ids or co-ordinates. Therefore the UPDD driver can only support configurations that are
identifiable by the QT function and in most cases we would expect this to
handle most multi-monitor configurations. Should
you experience any unusual multi-monitor issues our command line utility can
be used to view the system’s multi-monitor
layout as seen by our driver. When using UPDD in a multi-monitor environment the following issues need to be considered: Different video resolutionNative video mode allows different screen resolutions to be set on the individual monitors. Some custom video drivers may not allow different screen resolutions and all monitors will have to be the resolution of the largest resolution defined on one of the monitors. However, they may allow the viewable area to be a lesser resolution and ‘scroll’ the desktop around the full resolution. In this instance a custom segment will need to be defined to calibrate the viewable area and the scrolling capability will have to be locked as calibration does not work on scrolling desktops unless UPDD has been written to specifically interface with the video driver such that the two drivers work together and maintain calibration. This has been developed for one specialised system only. Please contact Touch-Base for more information. Multiple devicesUPDD has no restriction on the number of devices it can handle. As long as the controller can be connected via one of the supported hardware ports UPDD can be configured to support it. Hardware port binding (port and desktop segment association)In a multi-device environment a hardware port will be required for each pointer device. Most devices used in a multi-monitor/device environment are serial or USB and any of these ports can be used. In a multi-monitor / multi-touch device environment it is important to be able to associate a specific touch device (controller) with a given monitor (desktop). Serial controllers are connected to unique ports (com1, com2 etc) which offers a unique identifier to the device. For USB the binding method is different depending on the OS is use. See Binding section below for more details. Anchor mouse – Windows onlyIn a multi-monitor, touch screen environment, it may be a
requirement to leave the system pointer at its current location once the
touch is complete. E.g. a three monitor system where the left and right
screens are touch but the middle screen is mouse driven. With normal touch
drivers the cursor would be left at the last point of touch forcing the user
to use the mouse to bring the cursor back to the central monitor each time a
touch was made. Using the Anchor Mouse function, as found in the UPDD Console - Properties dialog, the cursor will be returned
to its previous location once the touch has been processed. This is a system wide setting that effects
all devices once enabled. Scrolling desktops – Windows onlySome systems support higher video resolutions than the video display can physically support. In this instance the video display becomes a ‘window’ on to the desktop and the desktop scrolls around video. In this instance touch screens cannot stay calibrated as they do not know the desktop element currently on display. For a touch screen driver to work in this environment the touch driver has to liaise with the video driver to be informed of the desktop element currently in view. This has been performed by UPDD with one video chip manufacturer and calibration was retained throughout the scrolling process. Desktop priorityDesktops can be allocated priorities when used in a multi-monitor environment and are defined in the UPDD Console - Properties dialog: The Interlock priority is a method of assigning a sharing priority to a device in a multi-device environment. Prior to introducing this function if two pointer devices were used at once the system pointer would rapidly jump between all the points of touch. This function avoids this symptom. See the UPDD on-line help for more information. The Admin priority hands control immediately to the device and is really only ever useful when one administrator desktop is in use. Setting more than one desktop introduces the issue where the system pointer will rapidly jump between all the points of touch if two or more admin desktops are touched at the same time. Given that a pen up will be forced on any Interlock device currently in use we recommend that those devices should be working with an appropriate click mode whereby the pen is not held down during use. Clone settingsMulti-monitor configurations normally require a degree of configuration in UPDD. If the configuration is to be replicated on a number of systems then UPDD has a useful facility to ‘clone’ the settings of one system on subsequent installs. Once the system is configured as required the ‘Dump settings’ function is located in the UPDD Console, Status dialog. A file is created that contains all the settings. This file is placed with the UPDD setup.exe program during the next install. See the UPDD Installation document for more information. RotateVideo rotation is catered for in UPDD and with some rotate methods UPDD can cater for rotation beyond the primary monitor. See the rotate document for more information. Multiple mouse pointers – Windows onlyIt is possible to give each pointer device in a Windows environment its own ‘mouse’ cursor, via specialised OS extensions and this is currently being investigated. WindowsEnsure the notes section at the beginning
of this document is read before utilising multiple devices in a Windows
environment. The following notes
refer to single user, multiple monitor configuration. If using multi-monitors in a
multi-user/seat environment please refer to this document. To be able to configure UPDD in these situations you need to understand how Windows caters with multiple monitors and devices, specifically how multiple monitor configurations are supported by Windows and the manner in which the desktop is defined. Desktop resolutionWe are all familiar with a single monitor displaying a complete Windows desktop, as this is the standard system configuration. We are also familiar with the concept of different video resolutions and most of us work on systems with a screen resolution of 800x600 or 1024 x768. The first figure defines the number of pixels in the X plane (left to right) and the last figure defines the number of pixels in the Y plane (top to bottom). Although these video resolutions are familiar to us Windows maps these ‘video pixel’ resolutions to its own virtual desktop resolution of 65535 (X plane) x 65535 (Y plane).
Pointer device calibration data relates to the virtual desktop. When UPDD interfaces with the operating system’s virtual mouse port driver to request the system pointer to be moved to a specific X, Y co-ordinate it references the virtual desktop resolution, hence the change of user screen resolution does not affect the performance of UPDD.
Depending on the type of multi-monitor support employed within the system, as discussed below, each monitor will either have its own virtual desktop of range 65535 X and 65535 Y or share one virtual desktop across all monitors, thereby each controlling a segment of the virtual desktop. The user sees the same results, that is, the desktop is spread over all the available monitors, but internally this process is handled differently.
In the above examples the X and Y co-ordinates are spread across the monitors in a 4 x 1 configuration. However, with native video support each desktop has its own virtual range whereas, in the custom video support the Y co-ordinates will be in the range 0 to 65535 but the X co-ordinates will be in the range 262140. In the custom video, if the monitors were stacked in a square (2x2) then the range would be 0 to 131070 and 0 to 131070. Multi-monitor supportEach monitor is either supported by the standard Windows video drivers (Native Window support) or specialised drivers supplied with multi-video port cards (Custom and Stretched video support) as described below:
Native video support Native support for multiple monitors was available with Windows 98 and has continued to be available under ME, W2K and XP. This allows for individual video cards to be placed in the system and for Windows to automatically recognise that the system has more than one video card and to show this in the desktop properties. Each monitor can then be enabled/disabled via the desktop display properties and each can have its own settings.
In this environment each monitor has its own complete virtual desktop.
In the above example the system has two enabled monitors.
Segmented video support Prior to the availability of native video support, introduced with Windows 98, video card manufactures had to develop their own drivers to implement multiple monitor support for Windows 95 and NT and, for many reasons, these drivers are still used in Windows systems that offer native support, especially where the native video drivers do not support the hardware. In this case Windows is only aware of one monitor but the custom driver handles the multiple monitor configuration.
In this environment each monitor shares the virtual desktop and maps to a segment within the virtual desktop.
In the above example a Quad video card is used to offer four monitors, two of which are enabled. In some cases a single logical desktop (the OS sees a single monitor) can be stretched across (mapped to) individual physical monitors, as in this Windows example:
UPDD configurationUPDD is responsible for moving the system pointer on the desktop and therefore in a multiple monitor environment it needs to know the method employed to handle the video cards. Further it also needs to be aware of the monitor/desktop area to be associated with the pointer device such that the movement of the system pointer can be restricted to the associated area. Since 4.1.10 there are two interfaces used to feed touch
data into the OS, mouse or HID ( The UPDD Console shows the pointer devices configured in the driver. The Hardware dialog shows the monitor or desktop area associated with the current device, as shown below:
UPDD ships with a number of predefined desktop areas that take into account the different methods of video support as follows
** Segments apply by default to Monitor 1. To apply these
settings to a different monitor for a given device manually set “MonitorNumberForSegment” in the
TBUPDD.ini file or use the command line interface
to define the setting e.g. tbutils segment
“left half” setting dw “monitornumberforsegment” 2 sets the
touch device set to left half to use the left half of monitor 2. or tbutils device
4 setting dw “monitornumberforsegment” 2 Standard desktop mode definitionIf the device is to move the system pointer across the whole desktop (being the primary monitor), as standard in a single monitor configuration, then the desktop area name is set to ‘Whole Desktop’ or Monitor 1, irrespective of video support in use. Extended desktop, native mode definitionWhen using
If the device is restricted to moving the system pointer
on an extended monitor, as supported by Native Video drivers, then the
desktop area name is set to the name of the monitor, e.g. Monitor 2. If the
dialog shows the Configure All
option then this is very useful in a
multi monitor system as this will automatically
assign the correct desktop for all touch monitors on the system rather
than having to manually assign them one at a time.
In Extended desktop, segment mode definitionIf the device is restricted to moving the system pointer on a specific monitor, as supported by a custom video driver, then the desktop area name is set to the name of the segment, e.g. Left half, Right half etc. Extended desktop, Stretched mode definitionIf the device is restricted to moving the system pointer on a specific monitor, as supported by a stretched driver, then the desktop area name is set to the name of the segment, e.g. Left Half – Stretched, Right Half - Stretched. Important notes:
Using identical USB touch devices If a 2nd USB touch device is added and the touch device is ‘technically’ identical to the device already in use then after connection for the first time it may be necessary to reestablish relationship between touch screens and Windows desktops and recalibrate. Mac OS XEnsure the notes section at the beginning
of this document is read before utilising multiple devices in a Mac OS X
environment. For Mac systems that are capable of supporting more than one monitor the multi-monitor configuration is shown in the System Preferences, Hardware, Displays, Arrangement dialog as follows:
UPDD configurationUPDD is responsible for moving the system pointer on the desktop and therefore in a multiple monitor environment needs to be aware of the monitor/desktop area to be associated with the pointer device such that the movement of the system pointer can be restricted to the associated area.
The UPDD Console shows the pointer devices configured in the driver. The Hardware dialog shows the monitor or desktop area associated with the current device, as shown below:
UPDD ships with a number of predefined desktop areas for
use with the Mac configuration. The
system has been tested with 8 touch monitors without issue. Each monitor can have a different screen
resolution. In a
multi-monitor environment a reboot will be require before added devices are
active. External dual head devicesExternal video extenders are available for the Mac such that a single video port, typically on a Mac Mini, can be extended across two monitors. One such device. dualhead2go (http://www.matrox.com/graphics/en/gxm/products/dh2go/home.php) allows two screens to be connected to a single VGA connector on the MacMini. To the MacMini, it looks like one wide screen (2048x768). It is actually two separate flat panels each set to 1024x768. If using this device we recommend using corner calibration points (2 points, 0% margin) and ignoring the calibration points drawn in the corners of both devices and just touch the appropriate corners of the touch device. LinuxEnsure the notes section
at the beginning of this document is read before utilising multiple devices
in a Linux environment. The following notes
refer to single user, multiple monitor configuration. If using multi-monitors in a
multi-user/seat environment please refer to this document. Given that Linux supports a wide variety of monitor configurations it is important that the configuration is one that can be handled by UPDD. If the multi-monitor layout listing does not return sensible information and you have difficulty configuring UPDD to work with your configuration, it is likely that the monitor configuration needs to be tweaked so that it does. If the layout is sensible, but either the calibration screen appears in the wrong place or the mouse does not track correctly this suggests a xorg / display manager issue that probably requires tweaks in the xorg or display manager. UPDD on Linux supports
the use of multiple monitors with the desktop extended (stretched) across all
the monitors. With earlier releases of our software (version 4.1.1 and 4.1.8)
the monitor layout had to be horizontal, left to right, such as shown in the
example below for a three monitor setup: The “serverlayout” section
of the xorg.conf file has the screens defined thus:- Screen 0 "Screen0" 0 0 Screen 1 "Screen1" 1920 0 Screen 2 "Screen2" RightOf
"Screen1" With UPDD 4.1.10 there is
no such restriction. Under Linux there are a
number of ways to support multiple monitors, some generic and others specific
to particular graphics cards or even Linux distribution. In this section we
cover the generic method referred to as Xinerama and other methods specific
to Nvidia graphics cards. As of Sept
11 we revamped multi-monitor support, to overcome multi-monitor issues
reported by various customers, and fully tested for Twinview, Xinerama, and native multi monitor, with vga splits on
any monitor in any of these configurations.
All appears to be working as expected. Xinerama
From the web “Xinerama was originally developed by DEC
(Digital Equipment Corporation) under the name of PanoramiX, and was later
incorporated into the X Window System as Xinerama. Not only is Xinerama
compatible with NVIDIA solutions, but also is universal to all graphics cards
with supportive Linux drivers and the X Window System” and is explained in
greater detail here: http://en.wikipedia.org/wiki/Xinerama. To setup a system using
Xinerama you should refer to the documentation provided by your vendor or
available on the web. The steps we followed to configure
our Xinerama based system is outlined below as an example: ·
Modified xorg.conf
to add new sections for our second graphics card and monitor, and the
corresponding “Screen” section to link the two together. ·
Added the new screen
into the “ServerLayout” section using the following line:- Section "ServerLayout"
Identifier "Multihead layout"
Screen 0 "Screen0" Screen
1 "Screen0 (2nd)" RightOf "Screen0" <<<<added
InputDevice "Updd0" "SendCoreEvents"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
Option "Xinerama"
"on" <<<<added
Option "Clone"
"off"
<<<<added EndSection ... Machine specific sections removed … Note – This section was added on our Linux 64
because we were using an Nvidia graphics card which needed a driver to be
downloaded and installed from their website. The driver had non-standard
extensions that can guess the size of the screen and this stopped some X
software, including
our driver, from working correctly. Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display" <<<
This section specifies the resolutions
and bitdepths of the respective monitor
Viewport 0 0
Depth 24
Modes “1600x1200” “1280x1024” “1024x768”
"800x600" "640x480" EndSubSection EndSection Section "Screen"
Identifier "Screen0 (2nd)"
Device "Videocard0
(2nd)"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24 Modes “1600x1200” “1280x1024” “1024x768”
"800x600" "640x480" EndSubSection EndSection Note the changes above
enabling Xinerama and the sections specifying the screen resolutions. On some
systems using the Nvidia graphics driver these are sometimes missing. UPDD does not currently support multiple monitors configured for
cloned/mirrored mode (same desktop seen on all monitors) or extended desktops
not using the Xinerama extensions – see http://en.wikipedia.org/wiki/Xinerama#Dual_display_X_without_Xinerama
for more details. Please contact us if this is
required. NouveauFrom the web “Nouveau Becomes NVIDIA's New Standard Driver Feb 22, 2010” Being the ‘new’ driver this is the default driver for Nvidia cards on more recent Linux kernels which has built in support for multiple monitors. It can also be downloaded as required. To activate multi-monitor support open System, Preferences, Monitors dialog:
The desktop will automatically extend to the second monitor. You can now configure UPDD as usual for multi-monitor, see below. TwinviewAs taken from the web “TwinView was developed by NVIDIA for allowing multiple monitors to be powered by a single GPU with their array of GeForce graphics cards.” To implement this support use the official Nvidia driver which has support for TwinView. To activate multi-monitor support open System, Preferences, Monitors dialog:
Configuring a dualhead system via twinview effectively allows one GPU to support two physical monitors. Linux will only list one monitor for each Twinview. Given this Linux view, UPDD needs to be configured to handle each half of the GPU rather than the whole monitor. You can now configure UPDD as usual for multi-monitor, see below. UPDD configurationUPDD is responsible for moving the system pointer on the desktop and therefore in a multiple monitor environment needs to be aware of the monitor/desktop area to be associated with the pointer device such that the movement of the system pointer can be restricted to the associated area. Once you have a
multi-monitor system configured you should use the UPDD Console to configure
your touch-screens and monitor association. This is done by going to the
“Hardware” page in the Console and clicking the “Handling XXX Desktop” where
“XXX” is the current desktop being handled, e.g. “Handling Whole Desktop”.
You should then select the monitor or desktop segment you want to use from
the desktop and monitor list.
Figure: Allocating a touch-screen
to Monitor 1
**These settings apply by default to the first defined GPU
- Monitor 1. If the twinview devices are connected to a different GPU then
use the setting “MonitorNumberForSegment”
in the TBUPDD.ini file to specify the GPU. In this
example the Twinview devices are connected to GPU seen as Monitor 2: 1) Install UPDD and plug in both
touch monitors. At this point both touch devices will be assigned to ‘Whole’
desktop in the UPDD console. 2) Select the Configure
All… option in the UPDD Console. 3) When the screens display the cross
touch the left-hand screen then cancel the calibration (esc key) 4) One of the devices will now be set
to Monitor 2. Change this to Left Half as shown: 5) Select the other device which will
be defined as Whole Desktop and change to “Right half”. 6) Run '/opt/tbupddlx/tbutils
list'. Note which two controllers are assigned to the left and right
halves (X and Y, where X and Y are the device numbers shown in the list). 7) Run '/opt/tbupddlx/tbutils device X
setting dw monitornumberforsegment 2'.(X = device number) 8) Run '/opt/tbupddlx/tbutils device
Y setting dw monitornumberforsegment 2'.(Y = device number) The
following example shows how three monitors might typically be configured in a
Linux system: After you have configured
the monitors you will need to calibrate each touch-screen before using them. Custom Desktop areaIn most cases it is the norm to associate a complete video display (monitor) to each pointer device. I.e. the pointer can move around the entire monitor. However, we are aware that some users may wish to restrict the movement of the cursor to a specific area on the monitor. In this case a custom desktop area can be used to restrict cursor movement to a given area on the monitor. The area is defined by specifying the top left (X min/Y min) of the area and its height (Y range) and width (X range). At the time of writing custom desktop area setting values are restricted to within the range 0 to 65535 so is only available on the primary monitor with native video support (and, under Windows, all monitors with custom video mode support). This limitation will be addressed in future releases of the driver. Native video mode supportTo define a custom desktop area, select ‘Custom’ as the desktop area and set the required logical desktop area settings, as shown in the following example:
In the above example, the touch will be restricted to the bottom right hand corner of the primary monitor, as shown below:
Custom video mode support – Windows onlyWith Windows custom video mode drivers, the entire virtual desktop, irrespective of the number of monitors, is mapped to a grid 65535 x 65535. In this mode, a custom desktop area can also be used to handle different display configurations than that catered for with the pre-defined set of desktop areas. In this mode the logical desktop settings values should be based on example values below:
E.g. In an eight monitor system, set in a 4 x 2 pattern. On all the monitors the height will be 7FFF (2 monitors deep) and the width will be 3fff (4 monitors wide). Top (Y min) on the top four will be 0 and 8000 on the bottom four monitors. Left (X min) will be 0,4000,8000,C000. Calibrating multiple devicesPrior to calibrating a device in a multi-device environment you need to associate the desktop on display on the monitor with the touch screen attached to the monitor and listed in the UPDD Console. If, for example, you had 3 USB controllers listed in the UPDD Console you would not immediately know the one to associate a given monitor/desktop and ‘trial and error’ would be needed to set the desktop with the controller until the correct match was found. To overcome this
issue in a multi-monitor environment we have introduced a procedure to
automatically assign a touch controller to a given desktop at the point of
touch. This procedure can be invoked in 1 of 3 ways: 1)
Since
UPDD 4.1.8 select the standard calibrate routine where Handling Whole Desktop
is defined for any device (the default after install) in a multi-monitor
system. This will assign and calibrate for all listed touch devices. 2)
Since
UPDD 4.1.8 select the ‘Configure All…’ option in the UPDD Console, Hardware,
Handling xxxxxxx desktop. This will assign only. 3)
Since
UPDD 4.1.6 run the calibration program with parameter /assignall. This will assign and
calibrate. To assign the
desktop/touch relationship the calibration program cycles through all
discrete desktops displaying the following screen:
If touched the
desktop and touch relationship is recorded in the settings. If not touched
this screen is displayed on the next monitor. If calibration is
also to be performed the calibration screen is also displayed on each touched
screen. Notes: 1)
These
calibration options (assign all / configure all) are only useful where each
touch screen is to be associated with a discrete desktop monitor. Where an
individual logical desktop is stretched or mirrored across multiple physical
monitors then manual configuration will still be required. 2)
To
configure desktop / touch screen relationships without performing calibration
use the /configureall option. 3)
This
procedure is especially important when using multiple graphics cards where in
some instances the Monitor number seen in the Windows Display Properties does
not correlate to the internal display reference used by UPDD**. E.g. we have
a 3 monitor system with 3 x dual graphics cards where the display properties
shows one of the monitors as Monitor 3 but the actual internal display name
relates to Monitor 5! In this case Monitor 5 needs to be selected and
this would not be known by an end user. This option will set the desktop
segment to that needed to correctly address the monitor during calibration
and system pointer placement. ** due to some issues we observed under
Windows 7 we changed the way we reference the internal video address space
and this change has resulted in internal video reference names not always
being the same as the name shown by the desktop properties. The names show by
the desktop properties relate to the physical number of monitors connected
whereas the internal names relate to the video adaptor in use, in most cases
they are one of the same, but not always. Controller and desktop bindingIn a multi-touch device / monitor system a mechanism is required to associate the touch device with its UPDD setting (desktop area, calibration data etc) such that the association between the settings and the device is retained across reboots or if touch controllers are unplugged and replugged. In the case of serial ports UPDD settings are bound with a touch device on a given serial port and therefore is bound to the port. If the device is plugged to a different com port then normally manual intervention is required to change the settings to refer to the new com port (unless the serial device is auto-detected in which case it utilizes controller binding) With USB devices, plugged randomly in to any USB port, binding is straight-forward in single device systems as only one device needs to be bound with the current UPDD settings. However, in multiple touch device environments, the binding is more complex, especially where the USB controllers are identical in characteristics. Depending on the USB devices in use in a multiple touch device environment the driver will either perform direct controller binding or USB port binding, as discussed below: WindowsSince UPDD 4.1.6, build id 1099, with a USB device the software creates an internal bind key that is held as part of the UPDD settings for that device such that the key can be used to associate the device with its settings. Depending on the characteristics of the USB controller the controller will either be seen by UPDD as unique or identical UniqueFor USB devices utilizing a unique serial number or iproduct per usb controller the bind key is held in the format: P:n:vid:pid:iproduct:serialnumber – See Bind key components for more details e.g. controllerbindkey=U:0:1255:7:2:07D22494 This effectively means the UPDD settings are associated
directly with the controller. Irrespective of the number of touch controllers in use or the unplugging or replugging sequence, controllers with unique characteristics will always be correctly associated with their settings as the binding directly relates to the controller connected. Note: When UPDD examines the full bind key, if the controller has iproduct binding enabled in our controller definition, the serial number is ignored (allowing the iproduct to be used instead). IdenticalFor USB devices without serial numbers and using the same iproduct per usb controller the bind key is held in the format: P:n:vid:pid:iproduct:deviceinstance – See Bind key components for more details e.g. controllerbindkey=U:0:1072:1288:2:{4d36e96f-e325-11ce-bfc1-08002be10318}\0005 This effectively means the UPDD settings are associated indirectly with the controller connected via the port Where a single touch controller is used and irrespective of the unplugging or replugging sequence a single identical controller will always be correctly associated with its UPDD settings as being the only controller connected effectively makes it ‘unique’. For multiple touch controllers that are identical and of the same type it is important that bind keys are created for each port. This caters for the situation where the devices are randomly passed to the UPDD driver by the OS, such as at a reboot or where two devices are connected at the same time. If UPDD just associated the device in the order in which the device was passed from the OS to the driver the sequence of devices would change, as would calibration, such that touching a device would move the cursor on another device. Once plugged in and with the UPDD setting established the binding will be correct over a reboot, However, when new identical controllers are added (See 1 below) or multiple instances of same identical USB controllers are unplugged and replugged into different usb ports (see 2 below) may result in incorrect associations between the device and UPDD settings or a new device appearing in the UPDD device list Multiple USB device issues with identical devices:
Given the above issues we strongly
recommend that in multi-device environments, when using identical controllers,
to avoid randomly disconnecting and reconnecting devices in to different USB
ports. Bind key logicFor those interested, the bind key logic is as follows. When a USB controller is discovered the system creates the bind key and this is used to determine if settings already exist or if a new device has been plugged in. Since UPDD 4.1.6, build 1150, the binding look up code first uses a partial part of the key (P:n:vid:pid) when scanning the current UPDD settings looking for the same partial key associated with a single, inactive (unplugged) device. If found then these settings are used. If it is not found, or not found with an inactive device, or there are more than one of the same identical device, then the full key used in the scanning and if found these settings are used. If neither key is found a new device is created in the UPDD device list. Bind key componentsThe bind key components are described below:
Example multi-device configurations· Multiple
monitors with the desktop spread over the monitors This configuration allows the desktop to be expanded over many monitors to offer more real estate on which to run the applications. All or some of the monitors may have a touch screen fitted. Each touch monitor will be configured to control its specific desktop area. The following example shows two touch screens, one USB and one Serial, configured on separate monitors supported by the native OS video drivers.
· Multiple
monitors with the same desktop shown on all the monitors This configuration, often referred to as Mirrored
Displays, allows the same desktop to be shown on more than one monitor. All
or some of the monitors may have a touch screen fitted. Mirrored displays can
either be a system setting when more than one video controller is used or can
be achieved with an external video splitter, which strictly speaking is not a
multi-monitor configuration as the system will normally have only one video
card. Each touch monitor will be configured to control the ‘whole’ desktop. · Single
touch screen monitor with additional pointer devices This example illustrates UPPD
supporting a touch screen monitor and an additional pointer device, such as
an electronic white board or digitizer. In this example both devices will be
set to control the ‘whole’ desktop. ContactFor further information or technical assistance please email the technical support team at technical@touch-base.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||