Previously there has been a number of Windows releases with built in touch features (Vista had a number of such flavours), specifically those versions aimed at the tablet market and Windows 7 is capitalising on the increased interest in the touch interface, especially where dual touch offers improved gesturing utilisation.
As we all know, point and click type touch has been around along time and in the right environment is a valued interface, i.e. kiosks, tablets etc. Dual touch capabilities in the mass market is in its infancy but the iphone interface showed that in the right environment and on the right device it is a perfect and intuitive interface. Standard desktop utilisation of dual touch and gesture interface is still an unproven concept but nevertheless there is sufficient interest that both touch hardware and software manufacturers need to understand its implementation in the new Windows release.
This document aims to assist with this process of understanding and represents our understanding of the touch implementation under Windows 7. General multi-touch issues were covered in the multi-touch support document available on our web site.
We have be working extensively on Windows 7 touch integration for current and legacy touch hardware and this document reflects our findings thus far:
Firstly the ‘single touch’ basics: A touch device outputs a touch data packet which contains absolute touch co-ordinates. A calibration process is used to either rescale the co-ordinates to match video resolution as the co-ordinates are received or to remap the co-ordinates in the touch device such that they are rescaled from source. In most OS this coordinate data is received by a driver and delivered to the operating system pointer interface to move the system pointer to the point of touch and generate a ‘mouse click’. For single, non rotated, desktop monitor usage this simple point and click usage is sufficient.
Under Windows 2000, XP, Vista and Windows 7, if a touch device is HID compliant it can utilise the HID driver supplied with the operating system to control ‘Human Interface Devices’ as long as the HID descriptors and generated data confirm to the HID requirements. A separate calibration procedure is used to remap the co-ordinates in the controller to match the desktop video system. Under Vista and Windows 7 extended touch functionality is also enabled in appropriate environments.
Alternatively HID, non HID and serial devices can use a purpose built, custom driver, such as our own UPDD driver, to handle simple point and click usage and at the same time implement additional features, such as multi-monitor support and rotated desktop and other desirable features.
Multi-touch usage. True ‘multi-touch’ implementations are mainly confined to specialised or experimental systems and most current uses of the term relating to mass market devices, such as the iPhone or Windows 7 systems, are more commonally used with dual touch devices, that is the device is capable of reporting two separate co-ordinate data streams when two stylus are used. Two simultaneous touches allows for enhanced gesture implementation giving an extra dimension to the touch experience and allows OS and application developers to explore the extra dimension in the user GUI experience.
Dual touch devices need to be integrated with the OS and/or applications and although the following concentrates predominately on Windows 7 most of the interface methods described are appropriate, at least in theory, to any operating system.
Three interface methods are available, namely:
A device may utilise any or all of the above and is not necessarily restricted to any one implementation method.
Each method is now explored in detail……
Windows 7 extended touch features are automatically enabled for HID compliant devices that comply with the core HID and multi-touch extensions
The devices must appear as a Logo certified HID digitizer and:
The built in touch features caters for consistent multi-touch gestures – double click, right click, panning, zoom and rotate and offers single finger panning. The gestures are utilised by the OS and also available for application use.
Further reference material
For HID compliant hardware that needs additional functionality or for touch hardware that does not conform to HID requirements (including legacy single touch hardware) a custom driver, such as UPDD, can register the touch device as a compatible virtual HID device to enable the operating systems extended touch features. To this end, custom drivers, such as UPDD will enable as many of the in built touch and gesture features dependant on the hardware’s capabilities (i.e. single or multi-touch) and Windows 7 restrictions.
UPDD 4.1.8 defines a Virtual HID for any supported touch devices such that all extended touch features are enabled.
In most cases touch screen manufacturers will supply an API interface that allows applications to receive multi-touch input directly and process as appropriate. The information available from the interface may be as minimal as the different touch data packets or may offer gesture type information. Typical examples of multi-touch APIs are available from Next Windows, IR Touch, N-trig and Nexio as well as our own UPDD driver SDK that caters for direct hardware interfacing. It is likely that most multi-touch hardware will offer some form of SDK for application interfacing.
For further information or technical assistance please email the technical support team at firstname.lastname@example.org