Pen and Touch Digitizer Drivers for Windows Vista
Updated: October 12, 2006
On This Page
This paper provides general guidance for hardware vendors and developers for implementing drivers for a pen or touch digitizer on a computer running the Microsoft Windows Vista operating system.
Pen Digitizer Drivers
The following Human Interface Devices (HID) usages are required:
The following usages are optional, but we recommend that you implement them if the digitizer hardware supports these capabilities:
You may need to add a second top-level collection for a mouse in your driver if the driver will be used on slate Tablet PCs or other computers without a physical mouse. If Windows Vista does not detect a mouse, it does not show a cursor. By adding a second collection for a mouse, your driver forces Windows Vista to show the cursor. The mouse collection does not send input.
For a sample pen digitizer driver, see Wacompen.sys in the Windows Driver Kit (WDK).
Touch Digitizer Drivers
For Windows Vista, touch digitizers appear through HID as a touch digitizer (page 0x0D, usage 0x04). The following usages are required:
Use tip switch to indicate finger contact and lift-off from the digitizer surface, similar to how the pen reports contact with the digitizer.
If the device supports z-axis detection, it reports in-range correctly. If the device does not support z-axis detection, the device reports packets with in-range (and tip switch) set when the finger comes in contact with the digitizer.
Note: Guidance for touch digitizer drivers for Windows XP is different for in-range reporting. The Windows XP Tablet PC OEM Preinstallation Kit (OPK) includes information about how to implement a touch digitizer driver for Windows XP. For more information, contact your Microsoft technical account manager.
The following usages are optional, but you should implement them in your driver if your digitizer hardware supports these capabilities:
Confidence is a suggestion from the device regarding whether the touch contact was an intended or accidental touch. Confidence is used to help improve accidental touch rejection. The device rejects accidental touches as thoroughly as it can and reports that information by using the confidence usage. In addition to the confidence value, Windows Vista applies additional heuristics to the touch input stream to improve accidental touch rejection.
If a device does not report confidence, it is entirely up to the device to provide accidental touch rejection.
The width and height usages represent the width and height of the touch contact. Width and height play a role in palm rejection, but are also exposed for developers to use in applications.
If your device includes a digitizer that provides both pen and touch functionality, your driver must report pen and touch collections separately according to the preceding pen and touch guidance. If your driver might be installed on a slate Tablet PC or other computer without a mouse, your driver should also report a mouse collection.
Reporting Physical Dimensions
A digitizer device reports proper physical dimensions by using the physical dimensions property of the x and y usage. Windows Vista uses these values in gesture recognition and other platform features. Inaccurate information about the physical dimensions might affect the performance of those features.
If for some reason a digitizer device cannot report accurate physical dimensions, the driver should report 0 units.
For More Information
If you have questions, contact your Microsoft technical account manager or email@example.com.