Lines Matching +full:1 +full:- +full:of +full:- +full:4

1 ----------------------
3 ----------------------
6 ------------
8 ALPS touchpads, called versions 1, 2, 3, 4, 5, 6, 7 and 8.
10 Since roughly mid-2010 several new ALPS touchpads have been released and
11 integrated into a variety of laptops and netbooks. These new touchpads
13 table, describing the properties of the different versions, is no longer
14 adequate. The design choices were to re-define the alps_model_data
15 table, with the risk of regression testing existing devices, or isolate
16 the new devices outside of the alps_model_data table. The latter design
19 For the purposes of this document, this group of ALPS touchpads will
24 different ALPS variants but there did not appear to be a 1:1 mapping.
29 ---------
32 E8-E6-E6-E6-E9. An ALPS touchpad should respond with either 00-00-0A or
33 00-00-64 if no buttons are pressed. The bits 0-2 of the first byte will be 1s
37 report" sequence: E8-E7-E7-E7-E9. The response is the model signature and is
40 For older touchpads supporting protocol versions 3 and 4, the E7 report
41 model signature is always 73-02-64. To differentiate between these
45 The new ALPS touchpads have an E7 signature of 73-03-50 or 73-03-0A but
49 ------------
51 Protocol versions 3 and 4 have a command mode that is used to read and write
52 one-byte device registers in a 16-bit address space. The command sequence
53 EC-EC-EC-E9 places the device in command mode, and the device will respond
54 with 88-07 followed by a third byte. This third byte can be used to determine
55 whether the devices uses the version 3 or 4 protocol.
66 PSMOUSE_CMD_GETINFO (E9). The first two bytes of the response contains the
67 address of the register being read, and the third contains the value of the
77 of the EC response.
80 -------------
90 ------------------
94 byte 0: 0 0 YSGN XSGN 1 M R L
95 byte 1: X7 X6 X5 X4 X3 X2 X1 X0
101 are on the touchpad, the M R L bits signal the combined status of both the
104 ALPS Absolute Mode - Protocol Version 1
105 ---------------------------------------
109 byte 0: 1 0 0 0 1 x9 x8 x7
110 byte 1: 0 x6 x5 x4 x3 x2 x1 x0
113 byte 4: 0 y6 y5 y4 y3 y2 y1 y0
116 ALPS Absolute Mode - Protocol Version 2
117 ---------------------------------------
121 byte 0: 1 ? ? ? 1 PSM PSR PSL
122 byte 1: 0 x6 x5 x4 x3 x2 x1 x0
124 byte 3: 0 y9 y8 y7 1 M R L
125 byte 4: 0 y6 y5 y4 y3 y2 y1 y0
129 the DualPoint Stick. The M, R and L bits signal the combined status of both
134 Dualpoint device -- interleaved packet format
135 ---------------------------------------------
139 byte 0: 1 1 0 0 1 1 1 1
140 byte 1: 0 x6 x5 x4 x3 x2 x1 x0
142 byte 3: 0 0 YSGN XSGN 1 1 1 1
143 byte 4: X7 X6 X5 X4 X3 X2 X1 X0
145 byte 6: 0 y9 y8 y7 1 m r l
154 ALPS Absolute Mode - Protocol Version 3
155 ---------------------------------------
163 byte 0: 1 ? x1 x0 1 1 1 1
164 byte 1: 0 x10 x9 x8 x7 x6 x5 x4
166 byte 3: 0 M R L 1 m r l
167 byte 4: 0 mt x3 x2 y3 y2 y1 y0
175 given axis. Thus the bitmap packet can be used for low-resolution multi-touch
177 number of contacts (f1 and f0 in the table below)::
179 byte 0: 1 1 x1 x0 1 1 1 1
180 byte 1: 0 x8 x7 x6 x5 x4 x3 x2
182 byte 3: 0 y10 y9 y8 1 1 1 1
183 byte 4: 0 x14 x13 x12 x11 x10 x9 y0
184 byte 5: 0 1 ? ? ? ? f1 f0
192 byte 0: 1 1 x7 y7 1 1 1 1
193 byte 1: 0 x6 x5 x4 x3 x2 x1 x0
195 byte 3: 0 1 TP SW 1 M R L
196 byte 4: 0 z6 z5 z4 z3 z2 z1 z0
197 byte 5: 0 0 1 1 1 1 1 1
200 processing is enabled. SW means scroll up when 4 buttons are available.
202 ALPS Absolute Mode - Protocol Version 4
203 ---------------------------------------
205 Protocol version 4 has an 8-byte packet format::
207 byte 0: 1 ? x1 x0 1 1 1 1
208 byte 1: 0 x10 x9 x8 x7 x6 x5 x4
210 byte 3: 0 1 x3 x2 y3 y2 y1 y0
211 byte 4: 0 ? ? ? 1 ? r l
217 required to construct a complete bitmap packet. Once assembled, the 6-byte
220 byte 0: 0 1 x7 x6 x5 x4 x3 x2
221 byte 1: 0 x1 x0 y4 y3 y2 y1 y0
224 byte 4: 0 0 0 0 0 0 0 0
229 1) In the bitmap data, bit 6 of byte 0 serves as a sync byte to
230 identify the first fragment of a bitmap packet.
235 3) There doesn't seem to be a count of the contact points anywhere in the v4
236 protocol packets. Deriving a count of contact points must be done by
239 4) There is a 3 to 1 ratio of position packets to bitmap packets. Therefore
241 the count of contact points can only be updated every third packet as
246 ALPS Absolute Mode - Protocol Version 5
247 ---------------------------------------
253 For single-touch, the 6-byte packet format is::
255 byte 0: 1 1 0 0 1 0 0 0
256 byte 1: 0 x6 x5 x4 x3 x2 x1 x0
258 byte 3: 0 M R L 1 m r l
259 byte 4: y10 y9 y8 y7 x10 x9 x8 x7
264 byte 0: 1 1 1 n3 1 n2 n1 x24
265 byte 1: 1 y7 y6 y5 y4 y3 y2 y1
268 byte 4: 0 x9 x8 x7 x6 x5 x4 x3
271 ALPS Absolute Mode - Protocol Version 6
272 ---------------------------------------
276 byte 0: 1 1 1 1 1 1 1 1
277 byte 1: 0 X6 X5 X4 X3 X2 X1 X0
280 byte 4: Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0
281 byte 5: 0 1 1 1 1 1 1 1
285 byte 0: 1 1 1 1 1 1 1 1
286 byte 1: 0 0 0 0 x3 x2 x1 x0
289 byte 4: ? y7 y6 y5 y4 ? ? ?
294 ALPS Absolute Mode - Protocol Version 7
295 ---------------------------------------
299 byte 0: 0 1 0 0 1 0 0 0
300 byte 1: 1 1 * * 1 M R L
301 byte 2: X7 1 X5 X4 X3 X2 X1 X0
302 byte 3: Z6 1 Y6 X6 1 Y2 Y1 Y0
303 byte 4: Y7 0 Y5 Y4 Y3 1 1 0
308 packet-fmt b7 b6 b5 b4 b3 b2 b1 b0
309 byte 0: TWO & MULTI L 1 R M 1 Y0-2 Y0-1 Y0-0
310 byte 0: NEW L 1 X1-5 1 1 Y0-2 Y0-1 Y0-0
311 byte 1: Y0-10 Y0-9 Y0-8 Y0-7 Y0-6 Y0-5 Y0-4 Y0-3
312 byte 2: X0-11 1 X0-10 X0-9 X0-8 X0-7 X0-6 X0-5
313 byte 3: X1-11 1 X0-4 X0-3 1 X0-2 X0-1 X0-0
314 byte 4: TWO X1-10 TWO X1-9 X1-8 X1-7 X1-6 X1-5 X1-4
315 byte 4: MULTI X1-10 TWO X1-9 X1-8 X1-7 X1-6 Y1-5 1
316 byte 4: NEW X1-10 TWO X1-9 X1-8 X1-7 X1-6 0 0
317 byte 5: TWO & NEW Y1-10 0 Y1-9 Y1-8 Y1-7 Y1-6 Y1-5 Y1-4
318 byte 5: MULTI Y1-10 0 Y1-9 Y1-8 Y1-7 Y1-6 F-1 F-0
321 R / M: Non-clickpads: Right / Middle button
327 so if a TWO packet is received and R = 1 then there are
329 TWO: 1: Two touches present, byte 0/4/5 are in TWO fmt
330 0: If byte 4 bit 0 is 1, then byte 0/4/5 are in MULTI fmt
331 otherwise byte 0 bit 4 must be set and byte 0/4/5 are
333 F: Number of fingers - 3, 0 means 3 fingers, 1 means 4 ...
336 ALPS Absolute Mode - Protocol Version 8
337 ---------------------------------------
341 The packet type is given by the APD field, bits 4-5 of byte 3.
346 byte 0: SWM SWR SWL 1 1 0 0 X7
347 byte 1: 0 X6 X5 X4 X3 X2 X1 X0
349 byte 3: 0 T&P 1 0 1 0 0 Y7
350 byte 4: 0 Z6 Z5 Z4 Z3 Z2 Z1 Z0
355 Touchpad 1 Finger packet (APD = 0x0)::
358 byte 0: SWM SWR SWL 1 1 X2 X1 X0
359 byte 1: X9 X8 X7 1 X6 X5 X4 X3
361 byte 3: Y5 Y4 0 0 1 TAPF2 TAPF1 TAPF0
362 byte 4: Zv7 Y11 Y10 1 Y9 Y8 Y7 Y6
371 byte 0: SWM SWR SWL 1 1 AX6 AX5 AX4
372 byte 1: AX11 AX10 AX9 AX8 AX7 AZ1 AY4 AZ0
374 byte 3: 0 0 0 1 1 BX6 BX5 BX4
375 byte 4: BX11 BX10 BX9 BX8 BX7 BZ1 BY4 BZ0
378 CONT: A 3-or-4 Finger packet is to follow
380 Touchpad 3-or-4 Finger packet (APD = 0x3)::
383 byte 0: SWM SWR SWL 1 1 AX6 AX5 AX4
384 byte 1: AX11 AX10 AX9 AX8 AX7 AZ1 AY4 AZ0
386 byte 3: 0 0 1 1 1 BX6 BX5 BX4
387 byte 4: BX11 BX10 BX9 BX8 BX7 BZ1 BY4 BZ0