Human-Machine interface devices (HID) are computer interface devices that interacts directly with humans, and most often takes input from, humans and may deliver output to humans. The term “HID” most commonly refers to the USB-HID specification, but the many HID class human interface devices are for mobile phones, digital cameras, camcorders, gaming devices, television, audio/video disc players, industrial control devices, home and personal electronics appliances.

The primary motivations for HID were to enable innovation in PC input devices and simplify the process of installing these devices. Most operating systems will recognize standard USB HID devices, like keyboards and mice, without needing a special driver. A USB HID is described by the USB human interface device class.

Human-Machine interface device (HID) Protocols

In the Human interface device (HID) protocol, there are 2 entities: the “host” and the “device”. The device is the entity that directly interacts with a human, such as a keyboard or mouse. The host communicates with the device and receives input data from the device on actions performed by the human. Output data flows from the host to the device and then to the human. The most common example of a host is a computer but some cell phones and PDAs also can be hosts. The HID protocol makes implementation of devices very simple. Devices define their data packets and then present a “HID descriptor” to the host. The HID descriptor is a hard coded array of bytes that describe the device’s data packets.

Various Human-Machine Interface Device (HID) protocols are:

  • USB HID protocol that used Universal Serial Bus (USB) for interfacing computers with human input/output devices
  • Bluetooth HID protocol that uses Bluetooth wireless technology for human-computer interface
  • Serial HID protocol that uses serial communication bus for human-computer interface device communication

One can use Windows’ built-in HID (human interface device) drivers to communicate with devices that conform to the USB’s HID class specification. There’s no need for a custom driver; the device uses the drivers included in Windows. Use any programming language that supports calling API functions. The device doesn’t have to have a “human interface.” Any device that can function within the limits of the HID specification (control and interrupt transfers only) may be able to be designed as a HID.

HID Class Devices of Human-Machine Interface

USB Human Interface Device (HID) class devices also use Bluetooth wireless protocol. The HID class consists primarily of devices that are used by humans to control the operation of computer systems. Typical examples of HID class devices include:

  • Keyboards and pointing devices; for example, touch panels, standard mouse devices, trackballs, and joysticks
  • Front-panel controls; for example, knobs, switches, buttons, and sliders
  • Controls that might be found on devices such as telephones (kaypad, display), VCR remote controls, games or simulation devices; for example, data gloves, throttles, steering wheels, and rudder pedals
  • Devices that may not require human interaction but provide data in a similar format to HID class devices; for example, bar-code readers, RFID readers, thermometers, or voltmeters