Home

hid

HID, or Human Interface Device, is a class of computer peripherals that interact directly with humans and are supported by standard device drivers on major operating systems. The term most commonly refers to devices that capture human input—such as keyboards, mice, game controllers, and touch or stylus input—and to the USB class specification that defines how these devices communicate with hosts. Bluetooth and other transports include HID-compatible profiles as well.

Technically, HID devices describe their data format using a HID report descriptor, which declares the structure

History and standardization: The HID specification is published by the USB Implementers Forum and defines the

Software support: Operating systems include built-in HID drivers that handle device enumeration, input processing, and event

Security and privacy: Because HID devices can inject inputs, they are subject to security considerations such

of
the
data
packets
(reports)
exchanged
between
device
and
host.
Reports
can
be
input,
output,
or
feature.
The
host
typically
polls
or
receives
asynchronous
reports
via
interrupt
endpoints.
A
key
feature
of
HID
is
abstraction:
the
host
software
does
not
need
to
know
the
device
internals;
it
works
with
logical
usages
defined
in
the
HID
usage
tables.
protocol,
report
formats,
and
usage
pages
used
by
many
input
devices.
It
applies
to
USB
as
well
as
HID
over
Bluetooth,
enabling
cross-platform
compatibility
for
a
wide
range
of
devices.
generation.
In
Linux,
the
hid
subsystem
and
hidraw
interface
allow
raw
access
to
HID
data;
in
Windows,
the
HID
class
driver
handles
most
devices
with
user-space
APIs
available
through
various
frameworks;
in
macOS,
IOHIDFamily
provides
support.
as
spoofing
and
unauthorized
access.
Systems
often
provide
controls
to
manage
device
permissions
and
trusted
peripherals.