The host communicates with the device and receives input data from the device on actions performed by the human. The device is the entity that directly interacts with a human, such as a keyboard or mouse. In the HID protocol, there are 2 entities: the "host" and the "device". The USB human interface device class describes a USB HID. Likewise, the PS/2 standard does not support the HID protocol. PS/2 does not typically support plug-and-play, which means that connecting a PS/2 keyboard or mouse with the computer powered on does not always work and may pose a hazard to the computer's motherboard. In comparison, this message does not usually appear for devices connected via the PS/2 6-pin DIN connectors which preceded USB. When installed, a message saying that "A 'HID-compliant device' has been recognized" generally appears on screen. The HID protocol has its limitations, but all modern mainstream operating systems will recognize standard USB HID devices, such as keyboards and mice, without needing a specialized driver.
After comparing notes at a Consumer Game Developer Conference, Steve and Mike agreed to collaborate on a new standard for the emerging Universal Serial Bus (USB). The concept of a self-describing extensible protocol initially came from Mike Van Flandern and Manolito Adan while working on a project named "Raptor" at Microsoft, and independently from Steve McGowan, who worked on a device protocol for Access Bus while at Forte. The list of participants appears in the "Device Class Definition for Human Interface Devices (HID)" ĭocument.
A single HID driver on a computer parses data and enables dynamic association of data I/O with application functionality, which has enabled rapid innovation and development, and prolific diversification of new human-interface devices.Ī working committee with representatives from several prominent companies developed the HID standard.
By contrast, all HID-defined devices deliver self-describing packages that may contain any number of data types and formats.
All hardware innovations necessitated either overloading the use of data in an existing protocol or the creation of custom device drivers and the evangelization of a new protocol to developers. Prior to the introduction of the HID concept, devices usually conformed to strictly defined protocols for mouse, keyboards and joysticks for example, the standard mouse protocol at the time supported relative X- and Y-axis data and binary input for up to two buttons, with no legacy support.
The HID standard was adopted primarily to enable innovation in PC input devices and to simplify the process of installing such devices.
This article needs additional citations for verification.