Input: ALPS - add semi-MT support for v3 protocol
[deliverable/linux.git] / Documentation / input / alps.txt
CommitLineData
d4b347b2
SF
1ALPS Touchpad Protocol
2----------------------
3
4Introduction
5------------
6
7Currently the ALPS touchpad driver supports two protocol versions in use by
8ALPS touchpads, the "old" and "new" protocol versions. Fundamentally these
9differ only in the format of their event packets (in reality many features may
10be found on new protocol devices that aren't found on the old protocol
11devices, but these are handled transparently as feature differences rather
12than protocol differences).
13
14Detection
15---------
16
17All ALPS touchpads should respond to the "E6 report" command sequence:
18E8-E6-E6-E6-E9. An ALPS touchpad should respond with either 00-00-0A or
1900-00-64.
20
21If the E6 report is successful, the touchpad model is identified using the "E7
22report" sequence: E8-E7-E7-E7-E9. The response is the model signature and is
23matched against known models in the alps_model_data_array.
24
25Packet Format
26-------------
27
28In the following tables, the following notation us used.
29
30 CAPITALS = stick, miniscules = touchpad
31
32?'s can have different meanings on different models, such as wheel rotation,
33extra buttons, stick buttons on a dualpoint, etc.
34
35PS/2 packet format
36------------------
37
38 byte 0: 0 0 YSGN XSGN 1 M R L
39 byte 1: X7 X6 X5 X4 X3 X2 X1 X0
40 byte 2: Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
41
42Note that the device never signals overflow condition.
43
44ALPS Absolute Mode - Old Format
45-------------------------------
46
47 byte 0: 1 0 0 0 1 x9 x8 x7
48 byte 1: 0 x6 x5 x4 x3 x2 x1 x0
49 byte 2: 0 ? ? l r ? fin ges
50 byte 3: 0 ? ? ? ? y9 y8 y7
51 byte 4: 0 y6 y5 y4 y3 y2 y1 y0
52 byte 5: 0 z6 z5 z4 z3 z2 z1 z0
53
54ALPS Absolute Mode - New Format
55-------------------------------
56
57 byte 0: 1 ? ? ? 1 ? ? ?
58 byte 1: 0 x6 x5 x4 x3 x2 x1 x0
59 byte 2: 0 x10 x9 x8 x7 ? fin ges
60 byte 3: 0 y9 y8 y7 1 M R L
61 byte 4: 0 y6 y5 y4 y3 y2 y1 y0
62 byte 5: 0 z6 z5 z4 z3 z2 z1 z0
63
64Dualpoint device -- interleaved packet format
65---------------------------------------------
66
67 byte 0: 1 1 0 0 1 1 1 1
68 byte 1: 0 x6 x5 x4 x3 x2 x1 x0
69 byte 2: 0 x10 x9 x8 x7 0 fin ges
70 byte 3: 0 0 YSGN XSGN 1 1 1 1
71 byte 4: X7 X6 X5 X4 X3 X2 X1 X0
72 byte 5: Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
73 byte 6: 0 y9 y8 y7 1 m r l
74 byte 7: 0 y6 y5 y4 y3 y2 y1 y0
75 byte 8: 0 z6 z5 z4 z3 z2 z1 z0
This page took 0.026426 seconds and 5 git commands to generate.