# Human interface device

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Human_interface_device
> Markdown URL: https://mediated.wiki/source/Human_interface_device.md
> Source: https://en.wikipedia.org/wiki/Human_interface_device
> Source revision: 1343013384
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{short description|Computer device that takes input from humans and gives output to humans}}
{{refimprove|date=September 2014}}

A '''human interface device''' ('''HID''') is a type of [computer device](/source/Peripheral) usually used by [humans](/source/Human) that takes [input](/source/Input_device) from or provides [output](/source/Output_device) to humans. 

The term "HID" most commonly refers to the [USB HID](/source/USB_human_interface_device_class) specification. The term was coined by Mike Van Flandern of [Microsoft](/source/Microsoft) when he proposed that the [USB](/source/Universal_Serial_Bus) committee create a Human Input Device class working group.{{When|date=February 2011}} The working group was renamed as the Human Interface Device class at the suggestion of Tom Schmidt of [DEC](/source/Digital_Equipment_Corporation) because the proposed standard supported bidirectional communication.{{When|date=February 2011}}

{| class="infobox" style="width: 23em; text-align: left; font-size: 90%;" cellspacing="2"
|-
|  style="background:#dedde2; font-size:110%; text-align:center;" colspan="2"|
'''HIDs for Output'''
|-
|
* [Computer monitor](/source/Computer_monitor)
* [Refreshable braille display](/source/Refreshable_braille_display)
* [Loudspeaker](/source/Loudspeaker)s
* [Headset](/source/Headset_(audio))
* [Haptic technology](/source/Haptic_technology)
|-
|  style="background:#dedde2; font-size:110%; text-align:center;" colspan="2"|
'''Common HIDs'''
|-
|
* [Keyboard](/source/Keyboard_(computing)) and [Refreshable braille display](/source/Refreshable_braille_display)
* [Pointing device](/source/Pointing_device)s: [Mouse](/source/Mouse_(computing)), [Trackball](/source/Trackball), [Touchpad](/source/Touchpad), [Pointing stick](/source/Pointing_stick), [Light pen](/source/Light_pen)
* [Touchscreen](/source/Touchscreen)
* [Magnetic Stripe Reader](/source/Magnetic_Stripe_Reader)
* [Graphics tablet](/source/Graphics_tablet)
* [Joystick](/source/Joystick), [Gamepad](/source/Gamepad), [Analog stick](/source/Analog_stick)
* [Webcam](/source/Webcam)
* [Fingerprint Scanner](/source/Fingerprint_recognition)
* [Microphone](/source/Microphone)
|-
|  style="background:#dedde2; font-size:110%; text-align:center;" colspan="2"|
'''Less common HIDs'''
|-
|
* [Driving simulator](/source/Driving_simulator) devices and [flight simulator](/source/flight_simulator) devices: sticks, throttles, wheels, yokes, pedals
* [Data glove](/source/Data_glove)
* [Dance pad](/source/Dance_pad)
* [Wii Balance Board](/source/Wii_Balance_Board)
|}

== HID standard ==
{{Main|USB human interface device class}}

A working committee with representatives from several prominent companies developed the HID standard. The list of participants appears in the "Device Class Definition for Human Interface Devices (HID)"<ref>
{{cite book
| url          = https://books.google.com/books?id=bQZoHQAACAAJ
| title        = Device Class Definition for Human Interface Devices (HID): Firmware Specification -- Final 1/30/97
| year         = 1997
| publisher    = USB Implementer's Forum
| access-date   = 2014-04-28
}}
</ref>
document. 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](/source/Microsoft), and independently from Steve McGowan, who worked on a "SIM" project that defined a device protocol for the [VFX1](/source/VFX1_Headgear) VR Headset and its peripherals based on [ACCESS.bus](/source/ACCESS.bus) while at Forte Technologies.  SIM was also self-describing and extensible, however it was more focused on SIMulation devices used for VR and motion capture. 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](/source/Universal_Serial_Bus) (USB).

== Other protocols using HID ==
Since HID's original definition over USB, HID is now also used in other [computer communication buses](/source/Bus_(computing)).  This enables HID devices that traditionally were only found on USB to also be used on alternative buses.  This is done since existing support for USB HID devices can typically be adapted much faster than having to invent an entirely new protocol to support mouse, touchpad, keyboards, and the like.  Known buses that use HID are:
* [Bluetooth HID](/source/Bluetooth_profile) – Used for mouse and keyboards that are connected via [Bluetooth](/source/Bluetooth)
* Serial HID – Used in Microsoft's [Windows Media Center](/source/Windows_Media_Center) PC remote control receivers.
* [Zigbee](/source/Zigbee) input device – Zigbee ([RF4CE](/source/RF4CE)) supports HID devices through the Zigbee input device profile.
* HID over [I²C](/source/I%C2%B2C) – Used for embedded devices in Microsoft Windows 8<ref>{{cite web| title=HID over I2C| url=https://msdn.microsoft.com/en-us/library/windows/hardware/jj127208(v=vs.85).aspx| publisher=Microsoft| access-date=2016-01-19}}</ref>
* HID over SPI – Developed by Microsoft for faster, lower latency fixed-device communications<ref>{{Cite web |last= |title=Introduction to HID over SPI - Windows drivers |url=https://docs.microsoft.com/en-us/windows-hardware/drivers/hid/hid-over-spi |access-date=2022-09-06 |website=docs.microsoft.com |language=en-us}}</ref>
* HID over GPIO – Used for embedded devices in Microsoft Windows 10<ref> {{Cite web |last=mhopkins-msft |title=HID Button Drivers - Windows drivers |url=https://learn.microsoft.com/en-us/windows-hardware/drivers/hid/buttons?utm_source=chatgpt.com |access-date=2025-05-16 |website=learn.microsoft.com |language=en-us}}</ref>{{AI-retrieved source|date=March 2026|checked=no}}
* [HOGP (HID over GATT)](/source/Bluetooth_Low_Energy) – Used for HID devices connected using Bluetooth Low Energy technology

==See also==
* [Human interface guidelines](/source/Human_interface_guidelines)
* [Human–computer interaction](/source/Human%E2%80%93computer_interaction)
* [USB human interface device class](/source/USB_human_interface_device_class)
* [Graphical user interface builder](/source/Graphical_user_interface_builder)
* [Linux on the desktop](/source/Linux_on_the_desktop)
* [Peripheral](/source/Peripheral)
* [Tangible user interface](/source/Tangible_user_interface)

==References==
{{Reflist}}

== External links ==
*[https://www.usb.org/hid HID developers forum], USB.org
* [https://www.usb.org/sites/default/files/documents/hid1_11.pdf HID Device Class Definition 1.11 Specification], USB.org
* [https://usb.org/sites/default/files/hut1_4.pdf HID Usage Tables 1.4 Specification], USB.org
* [https://usb.org/integrated-usage-table-documents HID Integrated Usage Table Documents], USB.org
* [https://usb.org/document-library/hid-descriptor-tool HID Descriptor Tool], USB.org

{{DEFAULTSORT:Human Interface Device}}
Category:Human–computer interaction

---
Adapted from the Wikipedia article [Human interface device](https://en.wikipedia.org/wiki/Human_interface_device) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Human_interface_device?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
