Lines Matching +full:1 +full:- +full:6

4 	Copyright (C) 2007-2008 Arjan Opmeer <arjan@opmeer.net>
6 Extra information for hardware version 1 found and
15 1. Introduction
18 4. Hardware version 1
24 5.2 Native absolute mode 6 byte packet format
25 5.2.1 Parity checking and packet re-synchronization
28 6. Hardware version 3
30 6.2 Native absolute mode 6 byte packet format
31 6.2.1 One/Three finger touch
35 7.2 Native absolute mode 6 byte packet format
36 7.2.1 Status packet
41 8.2 Native relative mode 6 byte packet format
42 8.2.1 Status Packet
50 hardware versions unimaginatively called version 1,version 2, version 3
51 and version 4. Version 1 is found in "older" laptops and uses 4 bytes per
52 packet. Version 2 seems to be introduced with the EeePC and uses 6 bytes
54 and width of the touch. Hardware version 3 uses 6 bytes per packet (and
55 for 2 fingers the concatenation of two 6 bytes packets) and allows tracking
56 of up to 3 fingers. Hardware version 4 uses 6 bytes per packet, and can
61 separate packet format. It is also 6 bytes per packet.
76 Currently only the registers for hardware version 1 are somewhat understood.
101 Currently a value of "1" will turn on some basic debugging and a value of
102 "2" will turn on packet debugging. For hardware version 1 the default is
103 OFF. For version 2 the default is "1".
114 non-zero value will turn it ON. For hardware version 1 the default is ON.
117 Hardware version 1 provides basic data integrity verification by
128 Sets crc_enabled to 0/1. The name "crc_enabled" is the official name of
138 "0" or "1" to this file will set the state to "0" or "1".
143 To detect the hardware version, read the version number as param[0].param[1].param[2]::
145 4 bytes version: (after the arrow is the name given in the Dell-provided driver)
152 6 bytes:
165 4 bytes/firmware 1. The versions < 02.08.00, with the exception of 02.00.30, as
166 4 bytes/firmware 2. Everything >= 02.08.00 can be considered as 6 bytes.
169 Hardware version 1
173 ---------
179 echo -n 0x16 > reg_10
183 bit 7 6 5 4 3 2 1 0
186 E: 1 = enable smart edges unconditionally
187 S: 1 = enable smart edges only when dragging
188 A: 1 = absolute mode (needs 4 byte packets, see reg_11)
189 L: 1 = enable drag lock (see reg_22)
190 D: 1 = disable dynamic resolution
191 T: 1 = disable tapping
192 C: 1 = enable corner tap
193 B: 1 = swap left and right button
197 bit 7 6 5 4 3 2 1 0
198 1 0 0 H V 1 F P
200 P: 1 = enable parity checking for relative mode
201 F: 1 = enable native 4 byte packet mode
202 V: 1 = enable vertical scroll area
203 H: 1 = enable horizontal scroll area
236 -----------------------------------------
240 bit 7 6 5 4 3 2 1 0
241 c c p2 p1 1 M R L
243 L, R, M = 1 when Left, Right, Middle mouse button pressed
245 when parity checking is enabled (reg_11, P = 1):
246 p1..p2 = byte 1 and 2 odd parity bit
247 c = 1 when corner tap detected
249 byte 1::
251 bit 7 6 5 4 3 2 1 0
255 byte 1 = 0xf0 when corner tap detected
259 bit 7 6 5 4 3 2 1 0
266 parity checking enabled (reg_11, P = 1):
268 bit 7 6 5 4 3 2 1 0
276 ds0 = 1 when top right corner tapped
277 ds1 = 1 when bottom right corner tapped
278 ds2 = 1 when bottom left corner tapped
279 ds3 = 1 when top left corner tapped
282 firmware 1.x seem to map one, two and three finger taps
284 h = 1 when horizontal scroll action
285 w = 1 when wide finger touch?
289 bit 7 6 5 4 3 2 1 0
298 -----------------------------------------
301 when 1 finger is touching, the first 2 position reports must be discarded.
306 firmware version 1.x:
308 bit 7 6 5 4 3 2 1 0
309 D U p1 p2 1 p3 R L
311 L, R = 1 when Left, Right mouse button pressed
312 p1..p3 = byte 1..3 odd parity bit
313 D, U = 1 when rocker switch pressed Up, Down
317 bit 7 6 5 4 3 2 1 0
318 n1 n0 p2 p1 1 p3 R L
320 L, R = 1 when Left, Right mouse button pressed
321 p1..p3 = byte 1..3 odd parity bit
324 byte 1::
326 firmware version 1.x:
328 bit 7 6 5 4 3 2 1 0
331 tw = 1 when two finger touch
332 th = 1 when three finger touch
333 f = 1 when finger touch
337 bit 7 6 5 4 3 2 1 0
342 bit 7 6 5 4 3 2 1 0
349 bit 7 6 5 4 3 2 1 0
360 ---------
366 echo -n 0x56 > reg_10
370 bit 7 6 5 4 3 2 1 0
371 0 1 0 1 0 1 D 0
373 D: 1 = enable drag and drop
377 bit 7 6 5 4 3 2 1 0
378 1 0 0 0 S 0 1 0
380 S: 1 = enable vertical scroll
392 Native absolute mode 6 byte packet format
393 -----------------------------------------
395 Parity checking and packet re-synchronization
403 A1 = packet[1];
408 if( (((SA1 & 0x3C) != 0x3C) && ((SA1 & 0xC0) != 0x80)) || // check Byte 1
409 … (((SA1 & 0x0C) != 0x0C) && ((SA1 & 0xC0) == 0x80)) || // check Byte 1 (one finger pressed)
430 bit 7 6 5 4 3 2 1 0
433 L, R = 1 when Left, Right mouse button pressed
436 byte 1::
438 bit 7 6 5 4 3 2 1 0
443 bit 7 6 5 4 3 2 1 0
450 bit 7 6 5 4 3 2 1 0
455 of the buttons, 1 otherwise)
459 1 = Left
464 6 = Another one
469 bit 7 6 5 4 3 2 1 0
476 bit 7 6 5 4 3 2 1 0
486 two fingers, but only the pair of the lower-left and upper-right coordinates.
492 bit 7 6 5 4 3 2 1 0
495 L, R = 1 when Left, Right mouse button pressed
498 byte 1::
500 bit 7 6 5 4 3 2 1 0
503 ax8..ax0 = lower-left finger absolute x value
507 bit 7 6 5 4 3 2 1 0
510 ay8..ay0 = lower-left finger absolute y value
514 bit 7 6 5 4 3 2 1 0
519 bit 7 6 5 4 3 2 1 0
522 bx8..bx0 = upper-right finger absolute x value
526 bit 7 6 5 4 3 2 1 0
529 by8..by0 = upper-right finger absolute y value
535 ---------
539 bit 7 6 5 4 3 2 1 0
542 A: 1 = enable absolute tracking
543 T: 1 = enable two finger mode auto correct
544 F: 1 = disable ABS Position Filter
545 R: 1 = enable real hardware resolution
547 Native absolute mode 6 byte packet format
548 -----------------------------------------
550 1 and 3 finger touch shares the same 6-byte packet format, except that
562 byte 1: 0xff
575 bit 7 6 5 4 3 2 1 0
576 n1 n0 w3 w2 0 1 R L
578 L, R = 1 when Left, Right mouse button pressed
581 byte 1::
583 bit 7 6 5 4 3 2 1 0
588 bit 7 6 5 4 3 2 1 0
595 bit 7 6 5 4 3 2 1 0
596 0 0 w1 w0 0 0 1 0
602 bit 7 6 5 4 3 2 1 0
609 bit 7 6 5 4 3 2 1 0
618 sends two 6 byte packets. The first packet contains data for the first finger,
626 ---------
630 bit 7 6 5 4 3 2 1 0
633 A: 1 = enable absolute tracking
635 Native absolute mode 6 byte packet format
636 -----------------------------------------
661 bit 7 6 5 4 3 2 1 0
662 . . . . 0 1 R L
664 L, R = 1 when Left, Right mouse button pressed
666 byte 1::
668 bit 7 6 5 4 3 2 1 0
671 ft4 ft3 ft2 ft1 ft0 ftn = 1 when finger n is on touchpad
679 bit 7 6 5 4 3 2 1 0
680 . . . 1 0 0 0 0
686 bit 7 6 5 4 3 2 1 0
689 p = 1 for palm
700 bit 7 6 5 4 3 2 1 0
701 w3 w2 w1 w0 0 1 R L
703 L, R = 1 when Left, Right mouse button pressed
706 byte 1::
708 bit 7 6 5 4 3 2 1 0
713 bit 7 6 5 4 3 2 1 0
720 bit 7 6 5 4 3 2 1 0
721 id2 id1 id0 1 0 0 0 1
727 bit 7 6 5 4 3 2 1 0
734 bit 7 6 5 4 3 2 1 0
744 bit 7 6 5 4 3 2 1 0
745 id2 id1 id0 w 0 1 R L
747 L, R = 1 when Left, Right mouse button pressed
749 w = 1 when delta overflows (> 127 or < -128), in this case
752 byte 1::
754 bit 7 6 5 4 3 2 1 0
761 bit 7 6 5 4 3 2 1 0
768 bit 7 6 5 4 3 2 1 0
769 id2 id1 id0 1 0 0 1 0
775 bit 7 6 5 4 3 2 1 0
782 bit 7 6 5 4 3 2 1 0
795 ---------
799 Native relative mode 6 byte packet format
800 -----------------------------------------
807 bit 7 6 5 4 3 2 1 0
810 byte 1::
812 bit 7 6 5 4 3 2 1 0
817 bit 7 6 5 4 3 2 1 0
822 bit 7 6 5 4 3 2 1 0
823 0 0 ~sy ~sx 0 1 1 0
827 bit 7 6 5 4 3 2 1 0
832 bit 7 6 5 4 3 2 1 0