Windows pointer device data delivery protocol
Updated: September 4, 2013
This section provides information about Windows Pointer Device for Windows operating systems. It provides guidelines for use of the human interface device (HID) protocol for pointer devices to communicate with the Windows host.
This information applies to Windows® 8 and Windows 8.1.
In this topic:
In this section:
-
Button state transitions
-
Configuration top level collection and rules for global items
-
Implementing top-level collections in multi-touch devices
-
Required descriptors
-
Selecting packet reporting modes in multi-touch devices
-
Supported usages in digitizer report descriptors
-
Supported usages in multi-touch digitizers
-
Targeting and contact geometry
-
Touch and pen support
-
Touch hardware quality assurance
Overview
In Windows 8 and Windows 8.1, a Windows pointer device refers to devices that support pen, or touch, functionality. In the context of a Windows Pointer Device, a pen is a single contact point active stylus input which is also known as tablet-pen that supports hovering. Touch functionality refers to a single finger contact or two or more concurrent finger contacts.
Windows pointer devices are expected to use the HID protocol to communicate with the host. Before you read this topic, you must have a good understanding of the HID protocol. The following documents include information about the protocol:
-
Device Class Definition for Human Interface Devices (HID) Version 1.11
-
HID Usage Tables Version 1.12
-
HID Over I2C Protocol Specification
Links to more information about the HID protocol are included in Additional resources.
Because Windows 8 and Windows 8.1 includes a HID class driver and corresponding HID I2C and HID USB miniport drivers, you do not need to implement one. You only need to report the usages that are described in this topic in the firmware for your pointer device. Windows will use your firmware and its own HID drivers to enable touch and pointer capabilities for your device and furnish the Windows touch and pointer APIs with access to your device.
To report data for any type of integrated stylus, the input must be reported by using a pen CA (Collection Application) collection. Similarly, touch data should be reported by using a touch CA collection. External stylus devices should use the digitizer CA collection. Sample descriptors are included in the Sample Report Descriptors section of this document.
Windows Hardware Certification
As part of Windows 8 and Windows 8.1 touch hardware certification, digitizers are required to appear to the Windows operating system as HID devices and follow the rules described in this document.
Glossary
The following terms are used in this section:
Term | Definition |
---|---|
Human Interface Device (HID) |
Human interface device (HID) refers to either the protocol or the device itself. In this topic, HID refers to the device and HID protocol refers to the protocol in definition. |
USB |
Universal Serial Bus |
I2C (Inter-Integrated Circuit) |
I2C is a multi-master serial single-ended bus that is used to attach low-speed peripherals to the motherboard, embedded. |
Main Items |
Entries in a report descriptor that define data fields. |
Local Items |
Entries in a report descriptor that describe certain properties of a data field. Local items are only associated with the main items they precede in the report descriptor. |
Global Items |
Entries in a report descriptor that describe the properties of a data field. Unlike local items, global items remain the same across multiple main items until they are changed. |
Usage |
The name of a value, button, or collection in a HID report. |
Additional resources
-
Device.Digitizer Tests for the Windows® Hardware Certification Kit (Windows HCK)
-
Windows Touch Testing Overview
-
USB HID Information
-
HID I2C v1.0 Protocol SpecificationHID I2C v1.0 Protocol Specification
-
Windows Touch SDK documentation