"USB HID类规范官方文档,版本1.11"
USB Human Interface Device (HID) 类规范是USB设备类定义的一部分,用于定义人机交互设备如何与USB主机通信。该文档详细阐述了HID类、子类、协议、接口以及设备操作模型等关键概念。
1. **前言**
- **知识产权声明**:文档中提到的所有内容受到1996-2001年USB Implementers' Forum的版权保护。
- **贡献者**:文档的制定和更新由多个贡献者参与。
- **修订范围**:此修订版的目的是提供最新的HID规范。
- **修订历史**:记录了文档自发布以来的版本变化。
- **文档约定**:规定了文档中使用的符号、术语和格式。
2. **介绍**
- **范围**:HID类规范涵盖所有与人机交互相关的USB设备,如键盘、鼠标、游戏控制器等。
- **目的**:确保HID设备在USB系统中的互操作性和兼容性。
- **相关文档**:提及其他与USB和HID相关的技术文档。
3. **管理概述**
- 对HID设备的管理和操作进行了宏观描述。
4. **功能特性**
- **HID类**:定义了HID设备的基本行为和功能。
- **子类**:HID类下可以有特定类型的子类,如键盘子类、鼠标子类等。
- **协议**:定义了设备与主机之间的通信方式,如Boot Protocol(启动协议)用于快速初始化。
- **接口**:每个HID设备可能包含一个或多个接口,每个接口可能包含多个端点。
- **设备限制**:描述了HID设备在USB系统中的最大报告速率、传输限制等。
5. **操作模型**
- **设备描述符结构**:设备描述符包含了设备的基本信息,如设备类型、版本等。
- **报告描述符**:定义了设备可以发送到主机的报告结构。
- **通用项格式**:描述了描述符中的数据项结构。
- **解析器**:解释和处理报告描述符中的数据项。
- **使用项**:定义了设备上的输入、输出和特征值。
- **报告**:设备与主机交换的数据单元,如键盘按键、鼠标移动等。
- **字符串**:用于标识设备信息,如制造商、产品名称等。
- **多字节数值格式**:规定了如何表示和解析多字节数值。
- **方向**:描述设备的方向信息,如键盘的布局。
- **空值**:某些情况下,报告中可能包含无意义的值。
6. **描述符**
- **标准描述符**:包括设备描述符、配置描述符等通用的USB设备信息。
- **类特定描述符**:特定于HID类的描述符,如HID描述符和报告描述符,它们提供了设备的具体功能信息。
这个规范对开发USB HID设备的软件驱动程序和固件至关重要,它定义了设备如何构造其报告,以及主机如何解析这些报告以理解用户输入。通过遵循这个规范,开发者可以确保他们的HID设备能够在各种操作系统和USB环境中无缝工作。