linux/drivers/input/mouse
Ulrik De Bie a2418fc4a1 Input: elantech - add support for trackpoint found on some v3 models
Some elantech v3 touchpad equipped laptops also have a trackpoint, before
this commit, these give sync errors. With this patch, the trackpoint is
provided as another input device: 'Elantech PS/2 TrackPoint'

The patch will also output messages that do not follow the expected pattern.
In the mean time I've seen 2 unknown packets occasionally:
0x04 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00
I don't know what those are for, but they can be safely ignored.

Currently all packets that are not known to v3 touchpad and where
packet[3] (the fourth byte) lowest nibble is 6 are now recognized as
PACKET_TRACKPOINT and processed by the new elantech_report_trackpoint.

This has been verified to work on a laptop Lenovo L530 where the
touchpad/trackpoint combined identify themselves as:
psmouse serio1: elantech: assuming hardware version 3 (with firmware version 0x350f02)
psmouse serio1: elantech: Synaptics capabilities query result 0xb9, 0x15, 0x0c.

Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Ulrik De Bie <ulrik.debie-os@e2big.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2014-08-26 15:17:41 -07:00
..
Kconfig Merge branch 'next' into for-linus 2014-06-07 23:24:07 -07:00
Makefile Input: add driver for Cypress APA I2C Trackpad 2013-01-17 00:28:10 -08:00
alps.c Input: ALPS - suppress message about 'Unknown touchpad' 2014-08-26 15:17:30 -07:00
alps.h Input: alps - Rushmore and v7 resolution support 2014-07-30 22:53:20 -07:00
amimouse.c Input: amimouse - remove redundant platform_set_drvdata() 2013-05-05 20:15:14 -07:00
appletouch.c Input: appletouch - fix jumps when additional fingers are detected 2014-03-30 23:44:17 -07:00
atarimouse.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
bcm5974.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
cyapa.c Input: cyapa - add support for smbus protocol 2013-02-13 20:21:17 -08:00
cypress_ps2.c Input: cypress_ps2 - don't report as a button pads 2014-03-26 13:33:58 -07:00
cypress_ps2.h Input: add support for Cypress PS/2 Trackpads 2013-01-17 00:27:34 -08:00
elantech.c Input: elantech - add support for trackpoint found on some v3 models 2014-08-26 15:17:41 -07:00
elantech.h Input: elantech - add support for trackpoint found on some v3 models 2014-08-26 15:17:41 -07:00
gpio_mouse.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
hgpk.c Input: hgpk - use %*ph to dump small buffer 2012-09-12 21:57:13 -07:00
hgpk.h Input: psmouse - switch to using dev_*() for messages 2011-10-10 18:28:16 -07:00
inport.c Input: remove CVS keywords 2008-05-20 12:17:39 -04:00
lifebook.c Input: lifebook - fix incorrect placement of __initconst 2013-08-12 22:32:38 -07:00
lifebook.h Input: psmouse - do not carry DMI data around 2009-12-03 23:25:36 -08:00
logibm.c Input: remove CVS keywords 2008-05-20 12:17:39 -04:00
logips2pp.c Input: logips2pp - fix spelling s/reciver/receiver/ 2014-01-12 11:41:38 -08:00
logips2pp.h Input: psmouse - use boolean type 2009-09-10 22:11:38 -07:00
maplemouse.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
navpoint.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
pc110pad.c Input: switch to input_abs_*() access functions 2010-08-02 20:29:56 -07:00
psmouse-base.c Input: add support for Cypress PS/2 Trackpads 2013-01-17 00:27:34 -08:00
psmouse.h Input: add support for Cypress PS/2 Trackpads 2013-01-17 00:27:34 -08:00
pxa930_trkball.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
rpcmouse.c input: rpcmouse: use __iomem pointers for MMIO 2012-09-19 15:37:13 +02:00
sentelic.c Input: sentelic - only report position of first finger as ST coordinates 2012-12-24 09:51:21 -08:00
sentelic.h Input: sentelic - report device's production serial number 2012-05-10 20:39:04 -07:00
sermouse.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00
synaptics.c Merge branch 'next' into for-linus 2014-08-14 23:02:58 -07:00
synaptics.h Input: synaptics - print firmware ID and board number at init 2012-07-07 18:20:08 -07:00
synaptics_i2c.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
synaptics_usb.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08: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: trackpoint - Optimize trackpoint init to use power-on reset 2013-04-19 09:05:44 -07:00
trackpoint.h Input: trackpoint - Optimize trackpoint init to use power-on reset 2013-04-19 09:05:44 -07:00
vsxxxaa.c Input: delete non-required instances of include <linux/init.h> 2014-01-06 23:23:57 -08:00