Skip to content

USB: HID

hasu@tmk edited this page May 5, 2022 · 1 revision

Specification

Device Class Definition for Human Interface Devices (HID) Version 1.11

Appendix G: HID Request Support Requirements

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.

Clone this wiki locally