Lines Matching +full:0 +full:- +full:4

4 	Copyright (C) 2007-2008 Arjan Opmeer <arjan@opmeer.net>
18 4. Hardware version 1
20 4.2 Native relative mode 4 byte packet format
21 4.3 Native absolute mode 4 byte packet format
25 5.2.1 Parity checking and packet re-synchronization
33 7. Hardware version 4
39 8. Trackpoint (for Hardware version 3 and 4)
51 and version 4. Version 1 is found in "older" laptops and uses 4 bytes per
56 of up to 3 fingers. Hardware version 4 uses 6 bytes per packet, and can
58 4 allows tracking up to 5 fingers.
60 Some Hardware version 3 and version 4 also have a trackpoint which uses a
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
133 verification is done by the driver on hardware version 3 and 4. The
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)
164 Probably all the versions with param[0] <= 01 can be considered as
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.
173 ---------
179 echo -n 0x16 > reg_10
183 bit 7 6 5 4 3 2 1 0
188 A: 1 = absolute mode (needs 4 byte packets, see reg_11)
197 bit 7 6 5 4 3 2 1 0
198 1 0 0 H V 1 F P
201 F: 1 = enable native 4 byte packet mode
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)
235 Native relative mode 4 byte packet format
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
297 Native absolute mode 4 byte packet format
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)
393 -----------------------------------------
395 Parity checking and packet re-synchronization
402 SA1= packet[0];
406 C1 = packet[4];
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
462 4 = Forward
467 byte 4::
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
517 byte 4::
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
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
600 byte 4::
602 bit 7 6 5 4 3 2 1 0
609 bit 7 6 5 4 3 2 1 0
622 Hardware version 4
626 ---------
630 bit 7 6 5 4 3 2 1 0
631 0 0 0 0 0 0 0 A
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
684 byte 4::
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
725 byte 4::
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
773 byte 4::
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
791 Trackpoint (for Hardware version 3 and 4)
795 ---------
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
825 byte 4::
827 bit 7 6 5 4 3 2 1 0
832 bit 7 6 5 4 3 2 1 0