HID Compliance

The USB human interface device class (USB HID class) is a part of the USB specification for computer peripherals: it specifies a device class, of computer hardware for Human Interface Devices such as keyboard, mice and gaming controllers. Many predefined functions exist in the USB HID class. These functions allow hardware manufacturers to design a product to USB HID class specifications and expect it to work with any software that also meets these specifications.

The same HID protocol is used unmodified in Bluetooth human interface devices. The Bluetooth profile specification only points readers to the USB HID documentation. In this sense those devices also belong to the USB HID class.

Keyboards are some of the most popular USB HID class devices. The USB HID class keyboard is normally designed with an IN endpoint that communicates keystrokes to the computer and an OUT endpoint that communicates the status of the keyboard’s LEDs from the computer to the keyboard. The PC-97 standard requires that a computer’s BIOS must detect and work with USB HID class keyboards that are designed to be used during the boot process.

Computer mice are equally popular USB HID class devices. USB HID mice can range from single-button simple devices to multi-button compound devices. Most modern operating systems ship with drivers for standard HID mice designs (the most common modern mouse design has two dedicated buttons and a Mouse TouchPad.

Game controllers
Modern game controllers and Joysticks are often USB HID class devices. Unlike legacyGame Port devices, USB HID class game devices do not normally require proprietary drivers to function. Nearly all game devices will function properly using onboard drivers as long as the device is designed around the drivers and the USB HID class specifications. Wii is not HID Compliant.

Other devices
The USB HID class specifications allow for myriad other devices under the USB HID class. Any device can be a USB HID class device as long as a designer meets the USB HID class logical specifications. This is not to say that there is no need to ship drivers for these devices, or that an operating system will immediately recognize the device. This only means that the device can declare itself under the human interface device class. In most Cellular Telephone technology it is highly unlikely that any USB HID class Keyboard or Mouse will compatible with Wireless Keyboard and/or Mice.