Windows pointer device data delivery protocol

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.


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:

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.

Important  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.


In this section

Topic Description

Button state transitions

This topic describes the button state transitions that are expected from devices.

Implementing top-level collections in multi-touch devices

This topic describes how to implement top-level collections in multi-touch devices. It also includes sample report descriptors for a mouse collection, a two finger parallel/hybrid mode multi-touch device, and a single finger hybrid mode multi-touch device.

Required descriptors

This topic describes the required descriptors that a Windows pointer device must provide.

Selecting packet reporting modes in multi-touch devices

This topic introduces the Parallel and Hybrid packet reporting modes for multi-touch devices.

Supported usages in digitizer report descriptors

This topic describes the supported usages in digitizer report descriptors.

Supported usages in multi-touch digitizers

In the context of Windows Pointer Device, multi-touch refers to support for two or more contact points. This topic describes the required and optional usages for a multi-touch digitizer device.

Targeting and contact geometry

Windows uses contact geometry data for the targeting. When the touch hardware reports accurate and reliable contact geometry data, this improves the user's targeting experience. Each digitizer reports the point that it deems to have been intended by the user. When this point does not fall over a valid target, Windows will look at any reported geometry data to identify the most probable target.

Touch and pen support

This topic describes how to report touch and pen support for touch devices.

Touch hardware quality assurance

This topic describes the data that's issued to a device manufacturer when their device passes the logo requirements.



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.


How to design multi-touch hardware solutions for Windows 8 and Windows 8.1

Power handling for Windows 8 and Windows 8.1 touch and pen controllers

Device.Digitizer Tests for the Windows® Hardware Certification Kit (Windows HCK)

Windows Touch Testing Overview

USB HID Information

HID I2C v1.0 Protocol Specification

Windows Touch SDK documentation



Send comments about this topic to Microsoft