|
Revision
1.2 - 6th Nov 2009 www.touch-base.com\documentation\general Windows 7 touch implementation notes |
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||
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 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…… In-built HID device driverWindows 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:
Microsoft is working with a number of touch manufactures
to perfect this interface, including ELO,
N-Trig, NextWindow and Wacom 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. Multi-touch enabled PC are already appearing on the
market such as the HP
TouchSmart (NextWindow) and Dell
Latitude XT (N-Trig). Multi-touch enabled monitors have also been released
to coincide with the Window 7 launch, such as the Dell
SX2210T (NextWindow), the HP
L2105TM (Quanta Computer), the Acer
T230H (Quanta Computer) and the Iiyama T2250MTS
(Quanta Computer) monitors. Further reference material
Purpose built, custom driver
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.
API and SDK software
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.
ContactFor further information or technical assistance please email the technical support team at technical@touch-base.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||