Expand description
USB HID (Human Interface Device) Driver
Implements HID Boot Protocol support for keyboards and mice, HID report descriptor parsing stubs, and input event generation.
Reference: USB HID Specification 1.11, USB HID Usage Tables 1.12
Structs§
- Boot
Keyboard Report - Boot keyboard report: 8 bytes
- Boot
Mouse Report - Boot mouse report: 3 bytes minimum, optional 4th byte for scroll
- HidCapabilities
- Parsed capabilities from a HID report descriptor
- HidDevice
- Represents a USB HID device with state tracking
- Input
Event Batch - Small fixed-capacity collection of input events from a single report
- Input
Event Batch Iter - Iterator over events in an
InputEventBatch
Enums§
- HidDesktop
Usage - Generic Desktop usage IDs
- HidDevice
Type - Classification of HID device types
- HidGlobal
Tag - Global item tags
- HidItem
Type - Report descriptor item types
- HidMain
Tag - Main item tags
- HidUsage
Page - Usage page values
- Input
Event - Input events generated from HID reports
Constants§
- HID_
BOOT_ PROTOCOL_ KEYBOARD - Keyboard boot protocol
- HID_
BOOT_ PROTOCOL_ MOUSE - Mouse boot protocol
- HID_
DESCRIPTOR_ TYPE - HID descriptor type (returned in GET_DESCRIPTOR)
- HID_
GET_ IDLE - Get the idle rate
- HID_
GET_ PROTOCOL - Get the active protocol (boot vs report)
- HID_
GET_ REPORT - Get a report from the device
- HID_
PHYSICAL_ DESCRIPTOR_ TYPE - HID physical descriptor type
- HID_
PROTOCOL_ BOOT - Boot protocol (simplified fixed-format reports)
- HID_
PROTOCOL_ REPORT - Report protocol (full report descriptor driven)
- HID_
REPORT_ DESCRIPTOR_ TYPE - HID report descriptor type
- HID_
SET_ IDLE - Set the idle rate
- HID_
SET_ PROTOCOL - Set the active protocol (boot vs report)
- HID_
SET_ REPORT - Send a report to the device
- HID_
SUBCLASS_ BOOT - Boot interface subclass
- HID_
SUBCLASS_ NONE - No subclass
Functions§
- parse_
report_ descriptor - Parse a HID report descriptor to determine device capabilities.