The USB HID specification is a set of specifications and an API for USB input devices. There are a number of different devices supported, including keyboards, mice, joysticks and gamepads, thermometers, telephony devices and medical instrumentation.

The purpose of the specification is to provide a standard way for input devices to communicate, thus allowing any input device designed in compliance with the HID standard to work on any computer that supports the HID standard. This cross-compatibility isn't perfect - in particular gamepads are often somewhat nonstandard - but it's much better than the previous standards, where just about every different kind of computer required proprietary input devices.

Thanks to HID, you can use a Macintosh keyboard on a Sun, or an SGI keyboard on a PC, or a PC keyboard on your Playstation 2 or 3 (or your Xbox).