Skip to content

Commit 4832a4d

Browse files
committed
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid
Pull HID updates from Jiri Kosina: - Documentation conversion to ReST, from Mauro Carvalho Chehab - Wacom MobileStudio Pro support, from Ping Cheng - Wacom 2nd Gen Intuos Pro Small support, from Aaron Armstrong Skomra - assorted small fixes and device ID additions * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: HID: Add another Primax PIXART OEM mouse quirk HID: wacom: generic: add touchring adjustment for 2nd Gen Pro Small docs: hid: convert to ReST HID: remove NO_D3 flag when remove driver HID: wacom: add new MobileStudio Pro support HID: wacom: generic: read the number of expected touches on a per collection basis HID: wacom: generic: support the 'report valid' usage for touch HID: wacom: generic: read HID_DG_CONTACTMAX from any feature report HID: wacom: Add 2nd gen Intuos Pro Small support HID: uclogic: Add support for Ugee Rainbow CV720 HID: logitech-dj: fix return value of logi_dj_recv_query_hidpp_devices HID: logitech-hidpp: HID: make const array consumer_rdesc_start static HID: logitech-dj: make const array template static HID: wacom: correct touch resolution x/y typo HID: wacom: generic: Correct pad syncing HID: wacom: generic: only switch the mode on devices with LEDs HID: logitech-dj: Add usb-id for the 27MHz MX3000 receiver
2 parents db04573 + 8676675 commit 4832a4d

22 files changed

+1049
-727
lines changed

Documentation/hid/hid-alps.txt renamed to Documentation/hid/hid-alps.rst

Lines changed: 64 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,26 @@
1+
==========================
12
ALPS HID Touchpad Protocol
2-
----------------------
3+
==========================
34

45
Introduction
56
------------
67
Currently ALPS HID driver supports U1 Touchpad device.
78

8-
U1 devuce basic information.
9+
U1 device basic information.
10+
11+
========== ======
912
Vender ID 0x044E
1013
Product ID 0x120B
1114
Version ID 0x0121
15+
========== ======
1216

1317

1418
HID Descriptor
15-
------------
19+
--------------
20+
21+
======= ==================== ===== =======================================
1622
Byte Field Value Notes
23+
======= ==================== ===== =======================================
1724
0 wHIDDescLength 001E Length of HID Descriptor : 30 bytes
1825
2 bcdVersion 0100 Compliant with Version 1.00
1926
4 wReportDescLength 00B2 Report Descriptor is 178 Bytes (0x00B2)
@@ -28,61 +35,82 @@ Byte Field Value Notes
2835
22 wProductID 120B Product ID 0x120B
2936
24 wVersionID 0121 Version 01.21
3037
26 RESERVED 0000 RESERVED
38+
======= ==================== ===== =======================================
3139

3240

3341
Report ID
34-
------------
35-
ReportID-1 (Input Reports) (HIDUsage-Mouse) for TP&SP
36-
ReportID-2 (Input Reports) (HIDUsage-keyboard) for TP
37-
ReportID-3 (Input Reports) (Vendor Usage: Max 10 finger data) for TP
38-
ReportID-4 (Input Reports) (Vendor Usage: ON bit data) for GP
39-
ReportID-5 (Feature Reports) Feature Reports
40-
ReportID-6 (Input Reports) (Vendor Usage: StickPointer data) for SP
41-
ReportID-7 (Feature Reports) Flash update (Bootloader)
42+
---------
43+
44+
========== ================= =========================================
45+
ReportID-1 (Input Reports) (HIDUsage-Mouse) for TP&SP
46+
ReportID-2 (Input Reports) (HIDUsage-keyboard) for TP
47+
ReportID-3 (Input Reports) (Vendor Usage: Max 10 finger data) for TP
48+
ReportID-4 (Input Reports) (Vendor Usage: ON bit data) for GP
49+
ReportID-5 (Feature Reports) Feature Reports
50+
ReportID-6 (Input Reports) (Vendor Usage: StickPointer data) for SP
51+
ReportID-7 (Feature Reports) Flash update (Bootloader)
52+
========== ================= =========================================
4253

4354

4455
Data pattern
4556
------------
57+
58+
===== ========== ===== =================
4659
Case1 ReportID_1 TP/SP Relative/Relative
4760
Case2 ReportID_3 TP Absolute
4861
ReportID_6 SP Absolute
62+
===== ========== ===== =================
4963

5064

5165
Command Read/Write
5266
------------------
5367
To read/write to RAM, need to send a commands to the device.
68+
5469
The command format is as below.
5570

5671
DataByte(SET_REPORT)
72+
73+
===== ======================
5774
Byte1 Command Byte
5875
Byte2 Address - Byte 0 (LSB)
5976
Byte3 Address - Byte 1
6077
Byte4 Address - Byte 2
6178
Byte5 Address - Byte 3 (MSB)
6279
Byte6 Value Byte
6380
Byte7 Checksum
81+
===== ======================
6482

6583
Command Byte is read=0xD1/write=0xD2 .
84+
6685
Address is read/write RAM address.
86+
6787
Value Byte is writing data when you send the write commands.
88+
6889
When you read RAM, there is no meaning.
6990

7091
DataByte(GET_REPORT)
92+
93+
===== ======================
7194
Byte1 Response Byte
7295
Byte2 Address - Byte 0 (LSB)
7396
Byte3 Address - Byte 1
7497
Byte4 Address - Byte 2
7598
Byte5 Address - Byte 3 (MSB)
7699
Byte6 Value Byte
77100
Byte7 Checksum
101+
===== ======================
78102

79103
Read value is stored in Value Byte.
80104

81105

82106
Packet Format
83107
Touchpad data byte
84108
------------------
85-
b7 b6 b5 b4 b3 b2 b1 b0
109+
110+
111+
======= ======= ======= ======= ======= ======= ======= ======= =====
112+
- b7 b6 b5 b4 b3 b2 b1 b0
113+
======= ======= ======= ======= ======= ======= ======= ======= =====
86114
1 0 0 SW6 SW5 SW4 SW3 SW2 SW1
87115
2 0 0 0 Fcv Fn3 Fn2 Fn1 Fn0
88116
3 Xa0_7 Xa0_6 Xa0_5 Xa0_4 Xa0_3 Xa0_2 Xa0_1 Xa0_0
@@ -114,26 +142,39 @@ Touchpad data byte
114142
25 Ya4_7 Ya4_6 Ya4_5 Ya4_4 Ya4_3 Ya4_2 Ya4_1 Ya4_0
115143
26 Ya4_15 Ya4_14 Ya4_13 Ya4_12 Ya4_11 Ya4_10 Ya4_9 Ya4_8
116144
27 LFB4 Zs4_6 Zs4_5 Zs4_4 Zs4_3 Zs4_2 Zs4_1 Zs4_0
145+
======= ======= ======= ======= ======= ======= ======= ======= =====
117146

118147

119-
SW1-SW6: SW ON/OFF status
120-
Xan_15-0(16bit):X Absolute data of the "n"th finger
121-
Yan_15-0(16bit):Y Absolute data of the "n"th finger
122-
Zsn_6-0(7bit): Operation area of the "n"th finger
148+
SW1-SW6:
149+
SW ON/OFF status
150+
Xan_15-0(16bit):
151+
X Absolute data of the "n"th finger
152+
Yan_15-0(16bit):
153+
Y Absolute data of the "n"th finger
154+
Zsn_6-0(7bit):
155+
Operation area of the "n"th finger
123156

124157

125158
StickPointer data byte
126-
------------------
127-
b7 b6 b5 b4 b3 b2 b1 b0
159+
----------------------
160+
161+
======= ======= ======= ======= ======= ======= ======= ======= =====
162+
- b7 b6 b5 b4 b3 b2 b1 b0
163+
======= ======= ======= ======= ======= ======= ======= ======= =====
128164
Byte1 1 1 1 0 1 SW3 SW2 SW1
129165
Byte2 X7 X6 X5 X4 X3 X2 X1 X0
130166
Byte3 X15 X14 X13 X12 X11 X10 X9 X8
131167
Byte4 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
132168
Byte5 Y15 Y14 Y13 Y12 Y11 Y10 Y9 Y8
133169
Byte6 Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0
134170
Byte7 T&P Z14 Z13 Z12 Z11 Z10 Z9 Z8
135-
136-
SW1-SW3: SW ON/OFF status
137-
Xn_15-0(16bit):X Absolute data
138-
Yn_15-0(16bit):Y Absolute data
139-
Zn_14-0(15bit):Z
171+
======= ======= ======= ======= ======= ======= ======= ======= =====
172+
173+
SW1-SW3:
174+
SW ON/OFF status
175+
Xn_15-0(16bit):
176+
X Absolute data
177+
Yn_15-0(16bit):
178+
Y Absolute data
179+
Zn_14-0(15bit):
180+
Z

0 commit comments

Comments
 (0)