如何使用HID Usage In Use Indicator并编写对应HID报告描述符示例
HID报告描述符示例片段
以下是实现「消息提示LED封装在In Use Indicator集合」的HID报告描述符片段,可直接转换为十六进制烧入设备:
0x05, 0x08, // Usage Page (LEDs) 0x09, 0x2F, // Usage (In Use Indicator) 0xA1, 0x01, // Collection (Application) 0x05, 0x0B, // Usage Page (Telephony) 0x09, 0x0F, // Usage (Message) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x75, 0x01, // Report Size (1) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs) → 主机通过输出报告控制该LED状态 // 若需要声明为Feature类型,将上一行替换为 0xB1, 0x02, // Feature (Data,Var,Abs) 0xC0, // End Collection
代码说明
- 外层集合先声明LED页的
In Use Indicator用途,完全符合HID Usage Table 1.22第14章的封装要求 - 集合内部切换到电话设备页,声明消息提示用途,配置为1位的输出/特征报告项,主机下发报告时该位为1则点亮消息提示灯,为0则熄灭
- 如果需要扩展其他电话类指示器(比如通话中、静音提示等),只需在集合内追加对应Telephony用途的报告项即可,无需修改外层集合结构
内容的提问来源于stack exchange,提问作者Jthorpe
相关产品推荐
相关产品推荐

