Driver Atlas

Input Device Drivers

The report, usage, and event layers that carry keyboard, pointer, touch, and other human input.

Reports precede events

A keyboard, pointer, touch surface, or other input device emits a structured report. A driver and input stack interpret those fields before routing events to applications.

Descriptors explain fields

HID descriptors define usages, collections, ranges, and report formats. The descriptor is the contract that lets common software interpret a device without knowing its internal sensor or switch design.

Policy is higher than transport

Focus, layout, acceleration, gesture handling, and accessibility can change how reports become user-visible events. Those policies are distinct from the physical report and device transport.

Composite devices split roles

One enclosure can expose several interfaces, such as keyboard, pointer, media, or vendor controls. Each interface can have separate identity and report semantics.

Reference facts

Input path
Physical change → device report → HID/input stack → application event.
Contract
Descriptors define usages, fields, ranges, and collections.

Questions and answers

Are input events generated by the physical switch?

The switch contributes a physical change; firmware encodes it as a report, and the input stack turns the report into an event.

Why can one keyboard expose several interfaces?

Composite devices can separate standard typing, media keys, vendor controls, and other functions into distinct logical interfaces.

Further reading