Human Interface Device Class

This chapter describes the Human Interface Device (HID) class supported by μC/USB-Device. The HID implementation complies with the following specifications:

  • Device Class Definition for Human Interface Devices (HID), 6/27/01, Version 1.11.
  • Universal Serial Bus HID Usage Tables, 10/28/2004, Version 1.12.

The HID class encompasses devices used by humans to control computer operations. Keyboards, mice, pointing devices, game devices are some examples of typical HID devices. The HID class can also be used in a composite device that contains some controls such as knobs, switches, buttons and sliders. For instance, mute and volume controls in an audio headset are controlled by the HID function of the headset. HID data can exchange data for any purpose using only control and interrupt transfers. The HID class is one of the oldest and most popular USB classes. All the major host operating systems provide a native driver to manage HID devices. That’s why a variety of vendor-specific devices work with the HID class. This class also includes various types of output directed to the user information (e.g. LEDs on a keyboard).