HID规范
+ -

HID设备的bInterfaceClass、bInterfaceSubClass和bInterfaceProtocol

2021-08-16 4739 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

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   

0 篇笔记 写笔记

HID设备的bInterfaceClassbInterfaceSubClassbInterfaceProtocol
HID设备是USB规范定义的设备类型之一,其分类号为0x03.关于USB设备类型定义,可参见本站:http://www.usbzh.com/article/detail-221.htmlHID设备除了用于专门的输入输出设备外,有时也与其它的设备类型组合成一个复杂的设备。如对于UVC摄像头设备,可以......
Teams 设备分类(MTR、Speakerphones)
USB规范中,USB设备类型是按USB连接设备的使用场景和所需的典型功能进行设备分类的。同时可能因为一些额外的特性或使用上的异差进一步分为一些子类或其它额外的分类。如接口描述符中的bInterfaceClassbInterfaceSubClass子类和bInterfaceProtocol。Spe......
Windows定义的USB设备类型bInterfaceClass
Windows定义的USB接口描述符typedef struct _USB_INTERFACE_DESCRIPTOR { UCHAR bLength; UCHAR bDescriptorType; UCHAR bInterfaceNumber; UCHA......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!