Lines Matching +full:2 +full:- +full:5

4 	Copyright (C) 2007-2008 Arjan Opmeer <arjan@opmeer.net>
9 Version 2 (EeePC) hardware support based on patches
16 2. Extra knobs
22 5. Hardware version 2
25 5.2.1 Parity checking and packet re-synchronization
26 5.2.2 One/Three finger touch
32 6.2.2 Two finger touch
37 7.2.2 Head packet
50 hardware versions unimaginatively called version 1,version 2, version 3
52 packet. Version 2 seems to be introduced with the EeePC and uses 6 bytes
55 for 2 fingers the concatenation of two 6 bytes packets) and allows tracking
58 4 allows tracking up to 5 fingers.
77 Hardware version 2 seems to use some of the same registers but it is not
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.
115 For version 2 the default it is OFF.
122 Hardware version 2 does not provide the same parity bits. Only some basic
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)
166 4 bytes/firmware 2. Everything >= 02.08.00 can be considered as 6 bytes.
173 ---------
179 echo -n 0x16 > reg_10
183 bit 7 6 5 4 3 2 1 0
197 bit 7 6 5 4 3 2 1 0
236 -----------------------------------------
240 bit 7 6 5 4 3 2 1 0
246 p1..p2 = byte 1 and 2 odd parity bit
251 bit 7 6 5 4 3 2 1 0
257 byte 2::
259 bit 7 6 5 4 3 2 1 0
268 bit 7 6 5 4 3 2 1 0
281 only models with firmware 2.x report this, models with
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.
308 bit 7 6 5 4 3 2 1 0
315 firmware version 2.x:
317 bit 7 6 5 4 3 2 1 0
328 bit 7 6 5 4 3 2 1 0
335 firmware version 2.x:
337 bit 7 6 5 4 3 2 1 0
340 byte 2::
342 bit 7 6 5 4 3 2 1 0
349 bit 7 6 5 4 3 2 1 0
355 Hardware version 2
360 ---------
366 echo -n 0x56 > reg_10
370 bit 7 6 5 4 3 2 1 0
377 bit 7 6 5 4 3 2 1 0
393 -----------------------------------------
395 Parity checking and packet re-synchronization
404 B1 = packet[2];
407 D1 = packet[5];
410 (((SA1 & 0xC0) != 0x80) && (( A1 & 0xF0) != 0x00)) || // check Byte 2
413 (((SA1 & 0xC0) != 0x80) && (( C1 & 0xF0) != 0x00)) ) // check Byte 5
430 bit 7 6 5 4 3 2 1 0
438 bit 7 6 5 4 3 2 1 0
441 byte 2::
443 bit 7 6 5 4 3 2 1 0
450 bit 7 6 5 4 3 2 1 0
460 2 = Right
463 5 = Back
469 bit 7 6 5 4 3 2 1 0
474 byte 5::
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
500 bit 7 6 5 4 3 2 1 0
503 ax8..ax0 = lower-left finger absolute x value
505 byte 2::
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
524 byte 5::
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
548 -----------------------------------------
550 1 and 3 finger touch shares the same 6-byte packet format, except that
553 Firmware would send 12 bytes of data for 2 finger touch.
563 byte 2: 0xff
566 byte 5: 0xff
575 bit 7 6 5 4 3 2 1 0
583 bit 7 6 5 4 3 2 1 0
586 byte 2::
588 bit 7 6 5 4 3 2 1 0
595 bit 7 6 5 4 3 2 1 0
602 bit 7 6 5 4 3 2 1 0
607 byte 5::
609 bit 7 6 5 4 3 2 1 0
626 ---------
630 bit 7 6 5 4 3 2 1 0
636 -----------------------------------------
638 v4 hardware is a true multitouch touchpad, capable of tracking up to 5 fingers.
639 Unfortunately, due to PS/2's limited bandwidth, its packet format is rather
648 For example, when status packet tells there are 2 fingers on touchpad, then we
661 bit 7 6 5 4 3 2 1 0
668 bit 7 6 5 4 3 2 1 0
673 byte 2::
679 bit 7 6 5 4 3 2 1 0
686 bit 7 6 5 4 3 2 1 0
691 byte 5::
700 bit 7 6 5 4 3 2 1 0
708 bit 7 6 5 4 3 2 1 0
711 byte 2::
713 bit 7 6 5 4 3 2 1 0
720 bit 7 6 5 4 3 2 1 0
727 bit 7 6 5 4 3 2 1 0
732 byte 5::
734 bit 7 6 5 4 3 2 1 0
744 bit 7 6 5 4 3 2 1 0
749 w = 1 when delta overflows (> 127 or < -128), in this case
750 firmware sends us (delta x / 5) and (delta y / 5)
754 bit 7 6 5 4 3 2 1 0
759 byte 2::
761 bit 7 6 5 4 3 2 1 0
768 bit 7 6 5 4 3 2 1 0
775 bit 7 6 5 4 3 2 1 0
780 byte 5::
782 bit 7 6 5 4 3 2 1 0
787 byte 0 ~ 2 for one finger
788 byte 3 ~ 5 for another
795 ---------
800 -----------------------------------------
807 bit 7 6 5 4 3 2 1 0
812 bit 7 6 5 4 3 2 1 0
815 byte 2::
817 bit 7 6 5 4 3 2 1 0
822 bit 7 6 5 4 3 2 1 0
827 bit 7 6 5 4 3 2 1 0
830 byte 5::
832 bit 7 6 5 4 3 2 1 0