USB : USB Classes    USB Classes for Microcontrollers  

HID class seems to have been originally designed to make it possible for operating systems like Microsoft Windows to use input devices like mice, keyboards, and joysticks, made by a wide variety of vendors, without requiring each vendor to supply a custom device driver.

However, there is nothing in the specification of the USB HID class, or the way that Microsoft implements this in Windows, that prevents you from using HID class for anything that doesn't fit some other existing USB device class.

In fact, the designers of the HID class seem to have had lots of other uses in mind, since they included a way to encode the units of each data item: linear and angular distances and velocities, temperatures, voltages, currents, and even more complicated units can be declared. Also, scale factors can be declared which are large powers of 10. You wouldn’t need units and big scale factors for a device class that was limited to keyboards and mice.


20 of 29
Copyright Notice and Author Information