HID设备的bInterfaceClass、bInterfaceSubClass和bInterfaceProtocol
2021-08-16
6410
2
HID设备是USB规范定义的设备类型之一,其分类号为0x03.
关于USB设备类型定义,可参见本站:http://www.usbzh.com/article/detail-221.html
HID设备除了用于专门的输入输出设备外,有时也与其它的设备类型组合成一个复杂的设备。如对于UVC摄像头设备,可以附带一个UAC麦克风音频设备和一个HID设备用于固件升级或自定义通讯。
HID设备类型定义于接口描述符中,通过bInterfaceClass、bInterfaceSubClass和bInterfaceProtocol来标识。
HID设备Class
对于HID类设备,接口描述符的bInterfaceClass字段值固定为0x03.
HID设备SubClass
在HID规范的早期,SubClass用于标别不同类型HID类设备的特定协议,但随着HID设备附加功能的变化,但很快就发现这种方法限制太多。设备需要适应狭义定义的子类,并且不能提供子类所支持的功能以外的任何功能。例如,带有定位器的键盘,或提供击键的定位器。
接口描述符的字段bInterfaceSubClass仅用于设备是否支持启动接口。
Subclass Codes | Subclass Code Description |
---|---|
0 | No Subclass |
1 | Boot Interface Subclass |
2 - 255 | Reserved |
- BIOS下识别USB键盘 http://www.usbzh.com/article/detail-131.html
HID设备Protocols
HID设备支持多种协议。接口描述符的bInterfaceProtocol成员只有在InterfaceSubClass支持启动接口时才有意义,否则为0。
支持boot interface subclass的设备也只有两种,分别为键盘和鼠标:
Subclass Codes | Subclass Code Description |
---|---|
0 | None |
1 | Keyboard |
2 | Mouse |
3 - 255 | Reserved |
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936