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.