Protocol Implementation (touchscreen-protocol-implementation)

This section provides guidelines for Touchscreen protocol implementation. Windows Touchscreen devices are expected to use the Human Interface Device (HID) protocol to communicate with the host.

A good understanding of the HID protocol is needed to be able to understand the information presented here. See the following resources for information about the HID protocol:

Windows includes a HID class driver and corresponding HID I²C, HID USB and HID BTH miniport drivers. So there is no need to develop 3rd-party drivers for Windows Touchscreen devices that use one of these buses (unless you are developing or using a 3rd-party bus controller). Just be aware that using a bus that is different from the ones listed, might result in the need for a third party miniport driver to expose the Touchscreen as a HID device to Windows.

You only need to report the usages that are described in this section, in the firmware for your Windows Touchscreen device. Windows will use your firmware and its own HID drivers to enable touch and gesture capabilities for your device, and give Windows applications access to your device.

It is important to note that only touch solutions that use Microsoft inbox drivers are considered compatible. Any solutions that use 3rd-party drivers (either miniport or filter drivers) cannot apply for compatibility.

A sample descriptor is provided in Sample Report Descriptors.

In this section

Topic Description

Required HID Descriptors

This topic presents the required HID descriptors (and device attributes) for a Windows Touchscreen device in Windows 10 and later operating systems.

Required HID Top-Level Collections

This topic discusses the required HID top-level collections that are used for Touchscreen reporting in Windows 10 and later operating systems.

Packet Reporting Modes

This topic provides information about the packet reporting modes for a Windows Touchscreen device in Windows 10.

Sample Report Descriptors

This topic presents a sample report descriptor and a sample descriptor excerpt for a Windows Touchscreen device.