HID 报告描述符

参考文献: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)超过【用途】的个数,则剩余的数据域都对应于最后一个【用途】。

 

短项目格式:

HID 报告描述符_第1张图片

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(动态值)

碰触开关

你可能感兴趣的:(USB)