文章目录
- 复合设备:Compound Device 内嵌 Hub 和多个 Function,每个 Function 都相当于一个独立的 USB 外设,有自己的 PID/VID/DID。
- 组合设备:Composite Device 内只有一个 Function,只有一套 PID/VID/DID。
这里使用组合设备来实现
带鼠标功能的键盘
要实现带鼠标功能的键盘有两种方式
- 一个接口,但是使用两个应用集合和两个报告
- 两个接口,分别实现键盘和鼠标
一个接口实现
设备描述符,配置描述符,HID 描述符 (注意报告描述符的长度) 和端点描述符等保持不变,唯一不同的是报告描述符和报告描述符的长度。
报告描述符示例
端点 0 最大包长为 64,分包传输如下
0x5 0x1 0x9 0x6 0xa1 0x1 0x85 0x1 0x5 0x7