-
Notifications
You must be signed in to change notification settings - Fork 1.7k
USB: HID
hasu@tmk edited this page May 5, 2022
·
1 revision
Device Class Definition for Human Interface Devices (HID) Version 1.11
The following table enumerates the requests that need to be supported by various types of HID class devices.
Device type | Get Report | Set Report[1] | Get Idle | Set Idle | Get Protocol | Set Protocol |
---|---|---|---|---|---|---|
Boot Mouse | Required | Optional | Optional | Optional | Required | Required |
Non-Boot Mouse | Required | Optional | Optional | Optional | Optional | Optional |
Boot Keyboard | Required | Optional | Required | Required | Required | Required |
Non-Boot Keyboard | Required | Optional | Required | Required | Optional | Optional |
Other Device | Required | Optional | Optional | Optional | Optional | Optional |
[1] If a device declares an Output report then support for SetReport(Output) request is required. If an Ouput report is defined, declaration of an Interrupt Out endpoint is optional, however operating systems that do not support HID Interrupt Out endpoints will route all Output reports through the control endpoint using a SetReport(Output) request.