kernel-ark/drivers/input/mouse
Daniel Kurtz a6ca40c11e Input: synaptics - decode AGM packet types
A Synaptics image sensor tracks 5 fingers, but can only report 2.

The algorithm for choosing which 2 fingers to report and in which packet:
  Touchpad maintains 5 slots, numbered 0 to 4
  Initially all slots are empty
  As new fingers are detected, assign them to the lowest available slots
  The touchpad always reports:
    SGM: lowest numbered non-empty slot
    AGM: highest numbered non-empty slot, if there is one

In addition, these touchpads have a special AGM packet type which reports
the number of fingers currently being tracked, and which finger is in
each of the two slots.  Unfortunately, these "TYPE=2" packets are only used
when more than 3 fingers are being tracked.  When less than 4 fingers
are present, the 'w' value must be used to track how many fingers are
present, and knowing which fingers are being reported is much more
difficult, if not impossible.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Acked-by: Chase Douglas <chase.douglas@canonical.com>
Acked-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-08-23 23:08:16 -07:00
..
alps.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2010-05-05 07:53:18 -07:00
alps.h Input: ALPS - add interleaved protocol support (Dell E6x00 series) 2009-12-15 22:15:25 -08:00
amimouse.c m68k: amiga - Mouse platform device conversion 2010-05-26 19:51:09 +02:00
appletouch.c Input: appletouch - remove extra KERN_DEBUG use from dprintk 2010-10-31 07:16:00 -07:00
atarimouse.c input/atari: Fix mouse movement and button mapping 2011-05-19 18:19:12 +02:00
bcm5974.c Fix common misspellings 2011-03-31 11:26:23 -03:00
elantech.c Input: elantech - remove support for proprietary X driver 2011-05-16 22:48:43 -07:00
elantech.h Input: elantech - export pressure and width when supported 2011-05-16 22:48:36 -07:00
gpio_mouse.c Input: update author email for gpio_mouse, at32psif, and atmel-wm97xx 2011-06-29 00:26:02 -07:00
hgpk.c Input: hgpk - fix powersave mode 2010-11-15 01:33:59 -08:00
hgpk.h Input: hgpk - extend jumpiness detection 2010-11-11 22:21:24 -08:00
inport.c
Kconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
lifebook.c Input: lifebook - make dmi callback functions return 1 2011-07-13 00:08:15 -07:00
lifebook.h Input: psmouse - do not carry DMI data around 2009-12-03 23:25:36 -08:00
logibm.c
logips2pp.c Input: psmouse - small formatting changes to better follow coding style 2010-05-19 11:31:51 -07:00
logips2pp.h Input: psmouse - use boolean type 2009-09-10 22:11:38 -07:00
Makefile Input: add new driver for Sentelic Finger Sensing Pad 2009-08-19 21:46:09 -07:00
maplemouse.c maple: input: fix up maple mouse driver 2009-04-27 09:22:31 +09:00
pc110pad.c Input: switch to input_abs_*() access functions 2010-08-02 20:29:56 -07:00
psmouse-base.c Input: hgpk - support GlideSensor and PenTablet modes 2010-11-11 22:21:15 -08:00
psmouse.h Input: psmouse - ignore parity error for basic protocols 2010-04-19 00:50:42 -07:00
pxa930_trkball.c Input: remove unneeded version.h includes 2011-06-27 12:42:54 -07:00
rpcmouse.c
sentelic.c Input: remove unneeded version.h includes 2011-06-27 12:42:54 -07:00
sentelic.h Input: psmouse - use boolean type 2009-09-10 22:11:38 -07:00
sermouse.c
synaptics_i2c.c Fix common misspellings 2011-03-31 11:26:23 -03:00
synaptics.c Input: synaptics - decode AGM packet types 2011-08-23 23:08:16 -07:00
synaptics.h Input: synaptics - decode AGM packet types 2011-08-23 23:08:16 -07:00
touchkit_ps2.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
touchkit_ps2.h Input: psmouse - use boolean type 2009-09-10 22:11:38 -07:00
trackpoint.c Input: return -ENOMEM in select drivers when memory allocation fails 2010-10-13 07:49:23 -07:00
trackpoint.h Input: psmouse - use boolean type 2009-09-10 22:11:38 -07:00
vsxxxaa.c Fix common misspellings 2011-03-31 11:26:23 -03:00