Some operating systems have extended touch features, such as flicks and utilities that are utilised by both the operating system desktop interface and applications specifically written to handle the touch features.
For example, Windows Tablet editions of
Linux kernel 2.6.30 is the first kernel to cater for multi-touch events and this is being extended with each release of the kernel.
The extended touch features made available in the system
are dependant on the edition of the operation system and the touch technology
in use. Additionally, the OS will only enable extended touch features against
touch technology that conforms to certain hardware standards. In the case of
However, in cases where the hardware does not conform to required standards or the system driver (i.e. HID) does not have the desired functionality then a driver can be used to both satisfy the system requirements and/or implement additional touch functions over and above those available as extended touch features.
This document reflects the OS extended touch features enabled by UPDD 4.1.8 (and above) and will be updated as support is extended or improved.
This section describes the touch features available when enabled, either because a compatible HID device is in use or UPDD is installed on an operating system offering such features.
The following grid shows the touch functions enabled by the use of compatible HID hardware or the utilisation of a Virtual HID device, such as implemented by UPDD and other pointer device drivers:
Note 1: Multi touch extensions only available in high end Windows 7 editions - see table below.
Note 2: Multi touch dependant on touch screen capabilities. Most (but not all) are single touch devices and therefore are not physically capable of multi touch albeit the UPDD Virtual HID is registered as a MT device. When handling a single touch device it is the equivalent of a single touch on a MT device.
Note 3: UPDD creates both a mouse and Virtual HID type device such that touch data can be delivered to the operating system via the mouse class or HID class driver. The desired delivery method is switchable in the UPDD Console.
The following table indicates the touch features available by Windows OS editions:
When UPDD is installed it creates a number of entries in the Device Manager that reflect both the hardware types supported by the specific UPDD build and also relate to the version of the OS.
If a serial controller is defined within the driver then
there will be a serial device entry in the ‘Mice and other pointing devices’
section. A USB device will also be
created in this section for any USB devices that are supported and plugged
in. These device types are currently
created for all Windows OS supported by UPDD version 4.1.x (and above). In addition to these base line devices,
starting with UPDD 4.1.8, an extra virtual HID device is created in
Currently we create the same Virtual HID multi-touch device, irrespective of device characteristics. In future releases we may tailor the virtual HID device more in keeping with the device characteristics (e.g. distinguish between single and multi-touch devices).
In the above example UPDD is installed on a Tablet PC that has other touch related HID devices (Virtual Touch Driver, Virtual Touch Interface, Wacom Penabled Dual Touch
Therefore, starting with UPDD 4.1.8 touch data processed
by UPDD can now be delivered to the
The system interface used by UPDD (mouse port or HID) is determined by a UPDD Console setting as it may be desirable in systems utilising UPDD where extended touch features are available but not desired for the UPDD Device to route touch data to the mouse class interface instead of the HID interface. This will reduce the extended touch features to those that work with a mouse type device so features such as gestures will no longer work with the UPDD device. It will also enable some UPDD features that are disabled when HID interface is used, such as the selection of different click modes.
To determine the type of touch available in your computer open the System dialog by selecting the Start button, right-click Computer and then Properties. You will see an entry such as the one below showing that both a Pen and Single touch device are available on the system:
In this example, only a touch device (not Pen) is configured that offers multiple touch with 10 touch points.
With only UPDD installed the Pen and Touch will show a 2 touch point input device (version 4.1.8) and 16 point input device (version 4.1.10). This reflects the fact that we register a 2 / 16 point device to handle any type of touch screen (single, dual or multi-touch) device, irrespective of the device physically connected.
The extended touch feature settings are found in the
system’s Control Panel. Not all
editions of Windows
Some settings are only shown when a multi touch device is configured on the system. Currently UPDD specifies all touch hardware as a multi touch device so these settings will only be relevant if a physical multi touch device is in use! In a future release we may cater for a variety of device types selectable in the UPDD Console depending on the desired functionality but the device type currently defined caters for most requirements.
This section is intended as a very brief introduction to the usage of extended touch features that are enabled when utilizing HID compatible touch / pen / digitizer type hardware or Virtual HID devices, as implemented by 3rd party drivers such as UPDD. The operation of some functions will be influenced by the settings above. Additional touch related articles are on the web, such as the Windows 7 features page on the Microsoft site or this comprehensive article.
The functionality and screen shots shown here relate to
Windows 7 but there will be very similar or equivalent features under
When using a touch enabled desktop, depending on the touch hardware in use, some or all of the following touch features will be available:
There are also very many subtle differences in desktop interaction when the OS determines that a mouse, pen or touch is being used and adjusts accordingly. For example, items in lists boxes have a different layout (more spacing) if the list box was invoked by touch to allow for the entries to be easily selected with the finger. With a mouse induced list box the items are more compressed. This is just one small example of the different user interface between mouse, pen and touch. A good video overview to the touch features can be viewed here:
Many applications running on Windows 7 will inherit default touch interface provided by the OS. However, for a more specific or ‘better’ touch experience applications can directly handle touch, multi-touch, gestures and flicks and many of the standard Windows 7 applications have been updated to utilize the touch interface, such as Windows Explorer . You can also, for example, use Paint to simultaneously draw with multiple stylus, as shown in the screen shot below using two stylus at the same time:
Photo applications use gestures to size, rotate and move photos. Multi-touch games have been developed for multiple users.
Many technical articles are available describing the various related application programming interfaces for developers to create touch aware applications.
Very informative development video series can be viewed here:
Most samples shown in the videos can be found in the Windows 7 SDK. You can find them in the \Program Files\Microsoft SDKs\Windows\v7.0\Samples\Touch.
Multi-touch events were first catered for in kernel 2.6.30 and were officially released with 2.6.31 so any distribution using this release will cater for some form of multi-touch support. The main web site for this development is here. This site list the requirements to achieve MT in Linux offering advice on supported hardware, drivers, installation and demo programs. At the time of writing (May 10) this seems to be ongoing development as the development team have written “we are now involved in the thinking on how to reorganise input management in both Xorg and the kernel to better deal with multi-touch, including gesture recognition.”
We have made changes to UPDD Linux 4.1.8 to interface with this evolving standard and have working drivers for multi-touch hardware supported by UPDD which has been tested on Fedora Core 12. We have also modified some of the supplied demo programs to interface with our implementation. Our development is also ongoing.
With UPDD Linux MT we offer the following:
Support for MT controllers
File access to stylus data
UPDD API access to stylus data
Pass though of stylus data to X multi touch interface
Multi-touch events under Mac OS X have been around for some time and were available on systems fitted with a multi-touch trackpad and latterly a Magic Mouse with its touch sensitive shell.
We have developed a gesture extension for Mac that can be installed alongside the UPDD driver that injects multi-touch input into the OS such that the standard gestures can be performed on a touch screen.
For further information or technical assistance please email the technical support team at firstname.lastname@example.org