You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求HID SDP记录值列表及BlueZ键鼠设备开发技术解答

BlueZ HID鼠标/键盘设备开发疑问解答
  • 问题1:指定信息类型的代码(如0x05)定义在哪里查询?
    这些代码是HID报告描述符的项标签,分为主项、全局项、局部项三类,定义在USB HID规范的「6.2.2 项格式」章节里。比如0x05是全局项里的「Usage Page」,0x09是局部项里的「Usage」,每个标签的含义、类型、参数长度规则都在这个章节有明确规定。

  • 问题2:是否所有结构都是“命令+参数”成对?解析索引偏差的定义在哪里查?
    不是所有结构都成对。HID报告描述符的每个项由「4位标签+2位类型+2位长度」组成,长度字段决定了参数的字节数(0=无参数,1=1字节,2=2字节,3=4字节)。比如0xC0(End Collection)是主项,长度为0,没有参数。你遇到的索引偏差问题,就是因为没正确解析每个项的长度,导致后续字节的解析位置出错。这些格式规则同样在USB HID规范的「6.2.2 项格式」章节里有详细说明。

  • 问题3:HID记录实际需要包含哪些内容?LED页可以移除吗?
    HID记录(报告描述符)只需要包含和你设备功能匹配的内容:

    • 要添加鼠标功能,需要加入Generic Desktop页(0x01)下的Mouse用法(0x02),同时补充对应的报告描述(比如X/Y轴移动、按键的Report Size/Count等)
    • LED页(0x08)是用于键盘状态指示灯(大小写锁、数字锁等)的反馈,如果你的设备不需要给主机返回LED状态,完全可以移除,HID协议没有强制要求必须包含LED页。
      另外要注意,报告描述符里的Report ID、Report Size、Report Count等字段,必须和你实际发送的HID报告数据格式完全对应,否则主机无法正确解析输入。

内容的提问来源于stack exchange,提问作者Edward Strange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 03:15:05