ALPS HID 触摸板协议¶
简介¶
目前,ALPS HID 驱动程序支持 U1 触摸板设备。
U1 设备基本信息。
供应商 ID |
0x044E |
产品 ID |
0x120B |
版本 ID |
0x0121 |
HID 描述符¶
字节 |
字段 |
值 |
注释 |
---|---|---|---|
0 |
wHIDDescLength |
001E |
HID 描述符的长度:30 字节 |
2 |
bcdVersion |
0100 |
符合版本 1.00 |
4 |
wReportDescLength |
00B2 |
报告描述符为 178 字节 (0x00B2) |
6 |
wReportDescRegister |
0002 |
用于读取报告描述符的标识符 |
8 |
wInputRegister |
0003 |
用于读取输入报告的标识符 |
10 |
wMaxInputLength |
0053 |
输入报告为 80 字节 + 2 |
12 |
wOutputRegister |
0000 |
用于读取输出报告的标识符 |
14 |
wMaxOutputLength |
0000 |
没有输出报告 |
16 |
wCommandRegister |
0005 |
命令寄存器的标识符 |
18 |
wDataRegister |
0006 |
数据寄存器的标识符 |
20 |
wVendorID |
044E |
供应商 ID 0x044E |
22 |
wProductID |
120B |
产品 ID 0x120B |
24 |
wVersionID |
0121 |
版本 01.21 |
26 |
保留 |
0000 |
保留 |
报告 ID¶
ReportID-1 |
(输入报告) |
(HIDUsage-鼠标) 用于 TP 和 SP |
ReportID-2 |
(输入报告) |
(HIDUsage-键盘) 用于 TP |
ReportID-3 |
(输入报告) |
(供应商用途:最多 10 个手指数据) 用于 TP |
ReportID-4 |
(输入报告) |
(供应商用途:ON 位数据) 用于 GP |
ReportID-5 |
(特性报告) |
特性报告 |
ReportID-6 |
(输入报告) |
(供应商用途:指针杆数据) 用于 SP |
ReportID-7 |
(特性报告) |
Flash 更新 (引导加载程序) |
数据模式¶
案例 1 |
ReportID_1 |
TP/SP |
相对/相对 |
案例 2 |
ReportID_3 ReportID_6 |
TP SP |
绝对 绝对 |
命令读取/写入¶
要读取/写入 RAM,需要向设备发送命令。
命令格式如下。
DataByte(SET_REPORT)
字节 1 |
命令字节 |
字节 2 |
地址 - 字节 0 (LSB) |
字节 3 |
地址 - 字节 1 |
字节 4 |
地址 - 字节 2 |
字节 5 |
地址 - 字节 3 (MSB) |
字节 6 |
值字节 |
字节 7 |
校验和 |
命令字节为读取=0xD1/写入=0xD2。
地址为读取/写入 RAM 地址。
当您发送写入命令时,值字节为写入数据。
当您读取 RAM 时,它没有任何意义。
DataByte(GET_REPORT)
字节 1 |
响应字节 |
字节 2 |
地址 - 字节 0 (LSB) |
字节 3 |
地址 - 字节 1 |
字节 4 |
地址 - 字节 2 |
字节 5 |
地址 - 字节 3 (MSB) |
字节 6 |
值字节 |
字节 7 |
校验和 |
读取的值存储在值字节中。
数据包格式 触摸板数据字节 ------------------
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 |
|
---|---|---|---|---|---|---|---|---|
1 |
0 |
0 |
SW6 |
SW5 |
SW4 |
SW3 |
SW2 |
SW1 |
2 |
0 |
0 |
0 |
Fcv |
Fn3 |
Fn2 |
Fn1 |
Fn0 |
3 |
Xa0_7 |
Xa0_6 |
Xa0_5 |
Xa0_4 |
Xa0_3 |
Xa0_2 |
Xa0_1 |
Xa0_0 |
4 |
Xa0_15 |
Xa0_14 |
Xa0_13 |
Xa0_12 |
Xa0_11 |
Xa0_10 |
Xa0_9 |
Xa0_8 |
5 |
Ya0_7 |
Ya0_6 |
Ya0_5 |
Ya0_4 |
Ya0_3 |
Ya0_2 |
Ya0_1 |
Ya0_0 |
6 |
Ya0_15 |
Ya0_14 |
Ya0_13 |
Ya0_12 |
Ya0_11 |
Ya0_10 |
Ya0_9 |
Ya0_8 |
7 |
LFB0 |
Zs0_6 |
Zs0_5 |
Zs0_4 |
Zs0_3 |
Zs0_2 |
Zs0_1 |
Zs0_0 |
8 |
Xa1_7 |
Xa1_6 |
Xa1_5 |
Xa1_4 |
Xa1_3 |
Xa1_2 |
Xa1_1 |
Xa1_0 |
9 |
Xa1_15 |
Xa1_14 |
Xa1_13 |
Xa1_12 |
Xa1_11 |
Xa1_10 |
Xa1_9 |
Xa1_8 |
10 |
Ya1_7 |
Ya1_6 |
Ya1_5 |
Ya1_4 |
Ya1_3 |
Ya1_2 |
Ya1_1 |
Ya1_0 |
11 |
Ya1_15 |
Ya1_14 |
Ya1_13 |
Ya1_12 |
Ya1_11 |
Ya1_10 |
Ya1_9 |
Ya1_8 |
12 |
LFB1 |
Zs1_6 |
Zs1_5 |
Zs1_4 |
Zs1_3 |
Zs1_2 |
Zs1_1 |
Zs1_0 |
13 |
Xa2_7 |
Xa2_6 |
Xa2_5 |
Xa2_4 |
Xa2_3 |
Xa2_2 |
Xa2_1 |
Xa2_0 |
14 |
Xa2_15 |
Xa2_14 |
Xa2_13 |
Xa2_12 |
Xa2_11 |
Xa2_10 |
Xa2_9 |
Xa2_8 |
15 |
Ya2_7 |
Ya2_6 |
Ya2_5 |
Ya2_4 |
Ya2_3 |
Ya2_2 |
Ya2_1 |
Ya2_0 |
16 |
Ya2_15 |
Ya2_14 |
Ya2_13 |
Ya2_12 |
Ya2_11 |
Ya2_10 |
Ya2_9 |
Ya2_8 |
17 |
LFB2 |
Zs2_6 |
Zs2_5 |
Zs2_4 |
Zs2_3 |
Zs2_2 |
Zs2_1 |
Zs2_0 |
18 |
Xa3_7 |
Xa3_6 |
Xa3_5 |
Xa3_4 |
Xa3_3 |
Xa3_2 |
Xa3_1 |
Xa3_0 |
19 |
Xa3_15 |
Xa3_14 |
Xa3_13 |
Xa3_12 |
Xa3_11 |
Xa3_10 |
Xa3_9 |
Xa3_8 |
20 |
Ya3_7 |
Ya3_6 |
Ya3_5 |
Ya3_4 |
Ya3_3 |
Ya3_2 |
Ya3_1 |
Ya3_0 |
21 |
Ya3_15 |
Ya3_14 |
Ya3_13 |
Ya3_12 |
Ya3_11 |
Ya3_10 |
Ya3_9 |
Ya3_8 |
22 |
LFB3 |
Zs3_6 |
Zs3_5 |
Zs3_4 |
Zs3_3 |
Zs3_2 |
Zs3_1 |
Zs3_0 |
23 |
Xa4_7 |
Xa4_6 |
Xa4_5 |
Xa4_4 |
Xa4_3 |
Xa4_2 |
Xa4_1 |
Xa4_0 |
24 |
Xa4_15 |
Xa4_14 |
Xa4_13 |
Xa4_12 |
Xa4_11 |
Xa4_10 |
Xa4_9 |
Xa4_8 |
25 |
Ya4_7 |
Ya4_6 |
Ya4_5 |
Ya4_4 |
Ya4_3 |
Ya4_2 |
Ya4_1 |
Ya4_0 |
26 |
Ya4_15 |
Ya4_14 |
Ya4_13 |
Ya4_12 |
Ya4_11 |
Ya4_10 |
Ya4_9 |
Ya4_8 |
27 |
LFB4 |
Zs4_6 |
Zs4_5 |
Zs4_4 |
Zs4_3 |
Zs4_2 |
Zs4_1 |
Zs4_0 |
- SW1-SW6
SW ON/OFF 状态
- Xan_15-0(16 位)
第 “n” 个手指的 X 绝对数据
- Yan_15-0(16 位)
第 “n” 个手指的 Y 绝对数据
- Zsn_6-0(7 位)
第 “n” 个手指的操作区域
指针杆数据字节¶
b7 |
b6 |
b5 |
b4 |
b3 |
b2 |
b1 |
b0 |
|
---|---|---|---|---|---|---|---|---|
字节 1 |
1 |
1 |
1 |
0 |
1 |
SW3 |
SW2 |
SW1 |
字节 2 |
X7 |
X6 |
X5 |
X4 |
X3 |
X2 |
X1 |
X0 |
字节 3 |
X15 |
X14 |
X13 |
X12 |
X11 |
X10 |
X9 |
X8 |
字节 4 |
Y7 |
Y6 |
Y5 |
Y4 |
Y3 |
Y2 |
Y1 |
Y0 |
字节 5 |
Y15 |
Y14 |
Y13 |
Y12 |
Y11 |
Y10 |
Y9 |
Y8 |
字节 6 |
Z7 |
Z6 |
Z5 |
Z4 |
Z3 |
Z2 |
Z1 |
Z0 |
字节 7 |
T&P |
Z14 |
Z13 |
Z12 |
Z11 |
Z10 |
Z9 |
Z8 |
- SW1-SW3
SW ON/OFF 状态
- Xn_15-0(16 位)
X 绝对数据
- Yn_15-0(16 位)
Y 绝对数据
- Zn_14-0(15 位)
Z