Lines Matching +full:0 +full:- +full:6
4 Copyright (C) 2007-2008 Arjan Opmeer <arjan@opmeer.net>
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
35 7.2 Native absolute mode 6 byte packet format
41 8.2 Native relative mode 6 byte packet format
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.
69 (TouchPadOff=0) will also disable the buttons associated with the touchpad.
99 By echoing "0" to this file all debugging will be turned OFF.
113 By echoing "0" to this file parity checking will be turned OFF. Any
114 non-zero value will turn it ON. For hardware version 1 the default is ON.
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:
164 Probably all the versions with param[0] <= 01 can be considered as
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
198 1 0 0 H V 1 F P
211 scroll area width (small: 0x40 ... wide: 0xff)
215 drag lock time out (short: 0x14 ... long: 0xfe;
216 0xff = tap again to release)
228 smart edge cursor speed (0x02 = slow, 0x03 = medium, 0x04 = fast)
236 -----------------------------------------
238 byte 0::
240 bit 7 6 5 4 3 2 1 0
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
268 bit 7 6 5 4 3 2 1 0
287 otherwise (reg_11, P = 0):
289 bit 7 6 5 4 3 2 1 0
298 -----------------------------------------
304 byte 0::
308 bit 7 6 5 4 3 2 1 0
317 bit 7 6 5 4 3 2 1 0
328 bit 7 6 5 4 3 2 1 0
329 f 0 th tw x9 x8 y9 y8
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
377 bit 7 6 5 4 3 2 1 0
378 1 0 0 0 S 0 1 0
384 unknown (0x00)
388 drag and drop release time out (short: 0x70 ... long 0x7e;
389 0x7f = never i.e. tap again to release)
392 Native absolute mode 6 byte packet format
393 -----------------------------------------
395 Parity checking and packet re-synchronization
402 SA1= packet[0];
408 if( (((SA1 & 0x3C) != 0x3C) && ((SA1 & 0xC0) != 0x80)) || // check Byte 1
409 … (((SA1 & 0x0C) != 0x0C) && ((SA1 & 0xC0) == 0x80)) || // check Byte 1 (one finger pressed)
410 (((SA1 & 0xC0) != 0x80) && (( A1 & 0xF0) != 0x00)) || // check Byte 2
411 (((SB1 & 0x3E) != 0x38) && ((SA1 & 0xC0) != 0x80)) || // check Byte 4
412 … (((SB1 & 0x0E) != 0x08) && ((SA1 & 0xC0) == 0x80)) || // check Byte 4 (one finger pressed)
413 (((SA1 & 0xC0) != 0x80) && (( C1 & 0xF0) != 0x00)) ) // check Byte 5
418 if( ((packet[0] & 0x0C) != 0x04) ||
419 ((packet[3] & 0x0f) != 0x02) )
423 In case an error is detected, all the packets are shifted by one (and packet[0] is discarded).
428 byte 0::
430 bit 7 6 5 4 3 2 1 0
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
454 vf = a kind of flag ? (only on EF123, 0 when finger is over one
457 b2 (on EF113 only, 0 otherwise), b2.R.L indicates one button pressed:
458 0 = none
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.
490 byte 0::
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
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
540 0 0 0 0 R F T A
547 Native absolute mode 6 byte packet format
548 -----------------------------------------
550 1 and 3 finger touch shares the same 6-byte packet format, except that
561 byte 0: 0xc4
562 byte 1: 0xff
563 byte 2: 0xff
564 byte 3: 0x02
565 byte 4: 0xff
566 byte 5: 0xff
573 byte 0::
575 bit 7 6 5 4 3 2 1 0
576 n1 n0 w3 w2 0 1 R L
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
631 0 0 0 0 0 0 0 A
635 Native absolute mode 6 byte packet format
636 -----------------------------------------
659 byte 0::
661 bit 7 6 5 4 3 2 1 0
662 . . . . 0 1 R L
668 bit 7 6 5 4 3 2 1 0
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
698 byte 0::
700 bit 7 6 5 4 3 2 1 0
701 w3 w2 w1 w0 0 1 R L
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
742 byte 0::
744 bit 7 6 5 4 3 2 1 0
745 id2 id1 id0 w 0 1 R L
749 w = 1 when delta overflows (> 127 or < -128), in this case
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
787 byte 0 ~ 2 for one finger
795 ---------
799 Native relative mode 6 byte packet format
800 -----------------------------------------
805 byte 0::
807 bit 7 6 5 4 3 2 1 0
808 0 0 sx sy 0 M R L
812 bit 7 6 5 4 3 2 1 0
813 ~sx 0 0 0 0 0 0 0
817 bit 7 6 5 4 3 2 1 0
818 ~sy 0 0 0 0 0 0 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