参考文献:HID Usage Tables
Main Item共有5个:Input、Output、Feature、Collection和End Collection,其中Input、Output和Feature会产生实际的数据域并附带说明操作特性。
Global Item:可对其后的所有主项目产生的数据域作用,直到出现一个新的Global Item为止。
Local Item:只对其后的一个主项目产生的数据域有效。
关于范围:当一个产生多个数据域(Report Count>1)的主项目之前有一个以上的【用途】时,每个【用途】与一个数据域依次对应,如果数据域个数(Report Count)超过【用途】的个数,则剩余的数据域都对应于最后一个【用途】。
短项目格式:
bTag:项目标签,指出项目的具体意义
bType: 项目类型 【00】主项目 【01】全局项目 【10】局部项目
bSize:可选数据字节数 【00,01,10,11】=【0,1,2,4】字节
主项目分类
主项目说明 |
||
---|---|---|
项目标签 | 前缀字节取值 | |
Input | 输入 | 1000 00 nn |
Output | 输出 | 1001 00 nn |
Feature | 特征 | 1011 00 nn |
Collection | 集合开始 | 1010 00 nn |
End Collection | 集合结束 | 1100 00 nn |
(nn 为bSize【即可选数据字节数】) |
【Input】【Output】【Feature】项目的后续数据说明
Bit |
取值 |
||
0 |
1 |
说明 (0/1) |
|
8 |
Bit Field |
Buffered Bytes |
位域/字节填充(不足8位填充成8位) |
7 |
Non Volatile |
Volatile |
主机不可改变/可改变状态值,只用于Feature项目 |
6 |
No Null Position |
Null State |
没有【无效(空)状态】/有【无效(空)状态】 |
5 |
Preferred State |
No Preferred |
无操作时回复原位(如按键或游戏杆)/不回复原位 |
4 |
Linear |
Non Linear |
线性/非线性 |
3 |
No Wrap |
Wrap |
卷绕/非卷绕,【卷绕】指最大最小值首尾相连 |
2 |
Absolute |
Relative |
绝对值/相对值 |
1 |
Array |
Variable |
每个字段(Report Size)独立触发操作/ 所有字段(Report Size* Report Count)触发一个操作 |
0 |
Data |
Constant |
变量/常量 |
【Collection】项目后的类型说明
集合类型 |
缩写 |
取值 |
说明 |
Physical |
CP |
0x00 |
用于包含单个几何点的控制 |
Application |
CA |
0x01 |
用于包含多种报告、多种应用 |
Logical |
CL |
0x02 |
用于包含多种不同结构的报告数据 |
Report |
0x03 |
用于包含一个单独的报告(含有报告ID) |
|
Named Array |
Nary |
0x04 |
|
Usage Switch |
US |
0x05 |
|
Usage Modifier |
UM |
0x06 |
|
Reserved |
0x07 ~ 0x7F |
(保留)未来扩展 |
|
0x80 ~ 0xFF |
(保留)用户自定义 |
用途页代码
代码 |
用途页 |
说明 |
|
00 |
Undefined |
未定义 |
|
01 |
Generic Desktop Controls |
通用桌面控制 |
|
02 |
Simulation Controls |
仿真控制 |
|
03 |
VR Controls |
虚拟现实控制 |
|
04 |
Sport Controls |
运动控制 |
|
05 |
Game Controls |
游戏控制 |
|
06 |
Generic Device Controls |
通用设备控制 |
|
07 |
Keyboard/Keypad |
键盘 |
|
08 |
LEDs |
LED阵 |
|
09 |
Button |
按钮 |
|
0A |
Ordinal |
顺序 |
|
0B |
Telephony |
电话 |
|
0C |
Consumer |
消费 |
|
0D |
Digitizer |
数字化仪 |
|
0E |
Reserved |
保留 |
|
0F |
PID Page |
人体接口设备 |
|
10 |
Unicode |
Uincode码 |
|
11-13 |
Reserved |
保留 |
|
14 |
Alphanumeric Display |
字符显示 |
|
15-3f |
Reserved |
保留 |
|
40 |
Medical Instruments |
医学设备 |
|
41-7F |
Reserved |
保留 |
|
80-83 |
Monitor pages |
监控器页 |
|
84-87 |
Power pages |
电源页 |
|
88-8B |
Reserved |
保留 |
|
8C |
Bar Code Scanner page |
条形码页 |
|
8D |
Scale page |
天平 |
|
8E |
Magnetic Stripe Reading (MSR) Devices |
磁条阅读设备 |
|
8F |
Reserved Point of Sale pages |
||
90 |
Camera Control Page |
照相机控制页 |
|
91 |
Arcade Page |
||
92-FEFF |
Reserved |
保留 |
|
FF00-FFFF |
Vendor-defined |
用户自定义 |
【Generic Desktop Controls】用途页下的部分主要用途Usage
用途ID |
用途名 |
用途类型 |
说明 |
00 |
Undefined |
未定义 |
|
01 |
Pointer |
CP(物理集合) |
指针定位 |
02 |
Mouse |
CA(应用集合) |
鼠标 |
03 |
Reserved |
保留 |
|
04 |
Joystick |
CA(应用集合) |
游戏摇杆 |
05 |
Game Pad |
CA(应用集合) |
游戏板 |
06 |
Keyboard |
CA(应用集合) |
键盘 |
07 |
Keypad |
CA(应用集合) |
键板(数字小键盘) |
08 |
Multi-axis Controller |
CA(应用集合) |
多轴控制器 |
09 |
Tablet PC System Controls |
CA(应用集合) |
平板计算机系统控制 |
0A-2F |
Reserved |
保留 |
|
30 |
X |
DV(动态值) |
X坐标 |
31 |
Y |
DV(动态值) |
Y坐标 |
32 |
Z |
DV(动态值) |
Z坐标 |
33 |
Rx |
DV(动态值) |
X轴旋转 |
34 |
Ry |
DV(动态值) |
Y轴旋转 |
35 |
Rz |
DV(动态值) |
Z轴旋转 |
36 |
Slider |
DV(动态值) |
滑动条 |
37 |
Dial |
DV(动态值) |
刻度盘 |
38 |
Wheel |
DV(动态值) |
旋钮 |
39 |
Hat switch |
DV(动态值) |
碰触开关 |