HID drivers

This section introduces Human Interface Devices (or HID). Typically, these are devices that humans use to directly control the operation of computer systems.

The definition of HID started as a device class over USB. The goal at that time was to define a replacement to PS/2 and create an interface over USB, allowing the creation of a generic driver for HID devices like keyboards, mice, and game controllers. Prior to HID, devices had to conform to strictly defined protocols for mice and keyboards. All hardware innovations necessitated overloading the use of data in an existing protocol, or the creation of non-standard hardware that needed its own drivers. The vision of HID started with finding a way for providing basic support for these “boot mode” devices in the operating system, but still allowing hardware vendors to provide differentiation with extensible, standardized and easily programmable interfaces.

Today, HID devices include: alphanumeric displays, barcode readers, volume controls on speakers/headsets, auxiliary displays, sensors, and MRI’s (yes, in hospitals). In addition, many hardware vendors use HID for their proprietary devices.

In this section

Topic Description

What's New in HID

Introduction to HID Concepts

This section introduces Human Interface Devices (or HID). Typically, these are devices that humans use to directly control the operation of computer systems.

HID Architecture

The architecture of the HID driver stack in Windows is built on the class driver named hidclass.sys.

HID Clients Supported in Windows

Windows supports the following top-level collections:

HID Transports Supported in Windows

Windows supports the following transports.

HID Clients

The HID Clients are drivers, services or applications that communicate using the HID API and often represent a specific type of device (for example: a sensor, a keyboard, or a mouse). They identify the device via a hardware ID or a specific HID Collection and communicate with the HID Collection via HID API.

HID Transports

Descriptions of HID transports supported in current and previous versions of Windows.

Non-HID legacy devices

This section describes drivers, transports, and filter-drivers for non-HID keyboards and mice. These devices primarily run on the PS/2 transport.


Send comments about this topic to Microsoft