目录 一、HID类设备相关概念 1. USB-HID名词解释 2. HID类设备数据传输特性 3. 按照传输速度对USB设备进行分类 二、USB设备描述符 1.USB标准描述符 1.1 各个描述符之间的关系 三、HID类设备特有的描述符 1. 设备描述符 2. 配置描述符 3. 接口描述符 4. 端点描述符 5. HID描述符 5.1 HID描述符的结构 5.2 HID描述符定义示例 6. 报告描述符 6.1 报告描述符的结构 6.2 示例 7.zephyr设备栈中报告描述符的注册和返回 7.1 报告描述符的注册示例(可忽略本小节) 7.2 注册回调函数 7.3 中断回调流程 7.3.1 控制器驱动层中断 7.3.2 核心层接口被回调 7.3.3 设备类驱动层接口被回调 7.4 报告描述符数据指针的更新以及数据的返回 7.5 总结 四、HID用途表文档简述—按键的用途ID 1. 用途表文档 2. 解析键盘按键值上报 2.1 按键的用途ID(查表可知) 2.2 输入报告的分析 2.3 实例1(单个按键按下) 3. 对比实验数据 3.1 勾选要监听的设备 3.2 开始捕获 3.3 实例2(组合按键按下) 五、解析程序代码(可忽略本小节) 1. HID类设备接口描述符的定义 2. 端点描述符在程序中的定义 3. HID报告描述符在程序中的定义 4. Shell命令行模拟键值的上报和数据的捕获 4.1 shell_hid_keyboard()函数 4.2 USB Hound捕获数据确认 一、HID类设备相关概念 1. USB-HID名词解释 Human Interface Deviece。指的是直接与人进行交互的设备,软硬件架构图如下(Layer Diagram):