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.

In this section

TopicDescription

HID Usages

HID usages identify the intended use of HID controls and what the controls actually measure.

HID Collections

A HID collection is a meaningful grouping of HID controls and their respective HID usages. Controls should be grouped together if they are logically related or are functionally dependent on one another. For instance, a SHIFT key and a letter key on a keyboard should not belong to separate collections. Collections can have nested subcollections, also referred to as link collections. Report descriptors define one or more top-level collections, and the report items, associated with each collection, define one or more HID reports.

Opening HID collections

This section describes how a HID Client can communicate with HIDClass to operate the device’s HID collections. HID Clients can operate in the following modes:

Handling HID Reports

This section describes how user-mode applications and kernel-mode drivers handle HID reports.

Freeing Resources

User-mode applications and kernel-mode drivers that are HID clients should always free any resources that are no longer required.

Installing HID clients

This section describes the following requirements for installing HIDClass devices in Microsoft Windows.

HIDClass Hardware IDs for Top-Level Collections

This section specifies the hardware IDs that the HID class driver generates for top-level collections. Vendors must use the formats that are designated as vendor hardware ID formats to identify top-level collections. All other device ID formats are reserved for internal use only.

Keyboard and mouse HID client drivers

Keyboards and mice represent the first set of HID clients that were standardized in the HID Usage tables and implemented in Windows operating systems. Their implementation is in the form of HID Mapper Drivers (kernel-mode WDM filter driver that provides a bidirectional interface for I/O requests between a non-HIDClass driver and the HID class driver).

Sensor HID class driver

The inbox sensor HID class driver (SensorsHIDClassDriver.dll), that Microsoft began shipping with Windows 8, supports eleven sensors running over the HID transport:

Airplane mode radio management

Windows 8 provides support via HID for airplane mode radio management controls.

Display brightness control

Windows 8 has added new support and standardized a solution for keyboards (external or embedded on laptops) to control a laptop’s or tablet’s screen brightness through HID. The HID committee recently approved HID Review Request 41 (http://www.usb.org/developers/hidpage#Approved_Usage_Table_Review_Requests)

 

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft