Touch, Input, and HID

Windows supports uniform access to input devices that are based on the Human Interface Devices (sometimes called the Human Input Devices) or HID specification. Vendors can extend the functionality of devices by adding filter drivers to the Windows layered driver architecture.

Vendor-written drivers for most devices can use UMDF. Mouse and keyboard filter drivers should use KMDF.

While earlier versions of Windows supported USB as the primary HID transport; Microsoft provides native support for the following transports in Windows 8:

  • USB
  • Bluetooth
  • Bluetooth LTE
  • I2C

Vendor specific transports are also allowed via 3rd party transport drivers. For more information, refer to the Human Input Devices section of the Windows Driver Kit documentation on MSDN.

In this section

Topic Description

Design recommendations for Windows 8 touchpads

Microsoft Windows 8 introduces a new Windows user interface (UI) built for touch. The new Windows UI also accommodates a mouse and a keyboard. This document summarizes the engineering and user experience recommendations for touchpads for Windows 8. It also recommends features for Windows 8 touchpads. Anything that is not explicitly mentioned here is not recommended or supported. In some cases, unsupported practices may result in unexpected behaviors.

Enhanced Wheel Support in Windows

Starting with Windows Vista, the Windows operating system offers enhanced support for next-generation wheel mouse devices. This paper provides guidelines for independent hardware vendors who are developing such input devices and for application developers who want to take advantage of wheel support in Windows.

Hardware Buttons for Windows 8 Tablet and Convertible Devices

This paper provides information and guidelines for hardware developers to create the hardware buttons used by Windows 8 when there is no keyboard present.

Hardware IDs for PS/2 Input Devices on Laptops

This paper provides information about PS/2 hardware IDs for Windows 8. It provides guidelines for hardware partners to correctly assign hardware IDs for PS/2 input devices. It assumes that the reader is familiar with Input device drivers and ACPI.

HID Over I2C Protocol Specification

This specification presents the protocol, procedures, and features that simple input devices use to talk to HID over I²C.

How to design multi-touch hardware solutions

Learn how to design hardware for Windows Touch. These guidelines for independent hardware vendors (IHVs) and original equipment manufacturers (OEMs) describe the quality standards that hardware must meet so that users have a successful multi-touch experience.

Introduction to the Windows Biometric Framework

This topic provides information about the Windows Biometric Framework (WBF) for the Windows 7 operating system.

Keyboard Enhancements in Windows 8

Over the last decade, there has been a trend in the industry toward adding consumer control buttons (CCB) to the standard keyboard. These additional consumer control buttons generally represent multimedia, web browsing, application launch, and power management capabilities, and are reported via the Human Interface Device (HID) device class. A limited subset of these buttons will continue to be supported over legacy PS/2 keyboards (Set 1) primarily for legacy laptops. Laptops based on System-on-Chip (SoC) design must migrate to HID (leveraging transports like USB or I2C).

Power handling for touch and pen controllers

This topic provides information about touch controller power states for Windows 8 and Windows 8.1, and guidelines for touch controller IHVs, PC ODMs, and PC OEMs.

Touch in Windows 7

This topic lists white papers that provide guidance for implementing touch in Windows 7 PCs.

Windows Biometric Framework: Code-Signing Guidelines

This paper provides information about code-signing requirements for drivers and adapter plug-ins that use the Windows Biometric Framework (WBF) for the Windows family of operating systems.

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.


Touch design and development in Windows 8 and Windows 8.1

How to use the RA Tool to measure Touch Latency (Video) (08 minutes 08 seconds)

How to Use the Precision Touch Testing Tool (Video) (8 minutes, 3 seconds)

Keyboard and mouse HID client drivers

HID over I2C

HID over USB

Keyboard and mouse class drivers

Introduction to Human Interface Devices: Part I

Building a HID motion sensor



Send comments about this topic to Microsoft