aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/input/alps.txt
diff options
context:
space:
mode:
authorSeth Forshee <seth.forshee@canonical.com>2011-11-07 22:53:15 -0500
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2011-11-08 01:22:09 -0500
commitd4b347b29b4d14647c7394f7167bf6785dc98e50 (patch)
tree82f8e1c35bba7f2ba2b6ad0b930a2dea70d009a8 /Documentation/input/alps.txt
parent5a6c865d9861efdd066db1b5da491ebc2ff5926d (diff)
Input: ALPS - move protocol information to Documentation
In preparation for new protocol support, move the protocol information currently documented in alps.c to Documentation/input/alps.txt, where it can be expanded without cluttering up the driver. Signed-off-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'Documentation/input/alps.txt')
-rw-r--r--Documentation/input/alps.txt75
1 files changed, 75 insertions, 0 deletions
diff --git a/Documentation/input/alps.txt b/Documentation/input/alps.txt
new file mode 100644
index 000000000000..ab5478f92a2b
--- /dev/null
+++ b/Documentation/input/alps.txt
@@ -0,0 +1,75 @@
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