|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Windows: |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mac: |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Linux: |
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Vista implemented the touch extensions for tablet PC’s (those built with touch LCDs) and at the time catered for single touch technology. Further, Windows 7 has some form of touch support in all editions and high end editions, starting with Home Premium, has additional support for multi touch technology, allowing for the use of gestures to control desktop and application interaction.
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 Vista and Windows this has to be a recognised pointer device type that conforms to HID standards (or a software driver, such as UPDD, that implements a virtual HID device). Pointer device type devices, such as mouse, touch screens, tablet, pen and digitizers can all be developed as HID devices and when connected to the system and handled by the system’s HID driver will automatically enable any relevant extended touch functions.
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. Windows extended touch featuresThis 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:
UPDD device specificsWhen 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 Vista and Windows 7 so that the operating system enables any HID related features, such as extended touch features.
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 Vista and Windows 7 operating systems via the mouse class interface or the HID class interface and processed accordingly. In single touch environments without extended touch functionality either feed will result in normal system pointer movement and mouse clicks. However, in environments with extended touch functionality the HID feed will also translate to system pointer movement and mouse clicks but will also enable the extended touch features where appropriate. In certain Windows 7 editions this will also result in gesture processing when using multi touch devices.
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.
Extended touch feature settingsTo 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 Vista and Windows 7 will have all of the Pen and Touch options mentioned. This is a limitation of the edition of the operating system.
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. Extended touch feature usageThis 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 Vista. The term touch is used to represent both Pen and Touch devices as they perform similar roles. Pen devices may also have buttons to initiate left and right clicks. DesktopWhen 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:
http://channel9.msdn.com/posts/yochay/Windows-7-Mutli-Touch-Overview/ ApplicationsMany 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:
http://channel9.msdn.com/posts/yochay/Programming-Windows-7-Multi-Touch--Part-1/
http://channel9.msdn.com/posts/yochay/Programming-Windows-7-Multi-Touch-Part-2/
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.
Linux extended touch featuresMulti-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
Mac extended touch featuresMulti-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. ContactFor further information or technical assistance please email the technical support team at technical@touch-base.com
|