Input: elantech - add support for trackpoint found on some v3 models
authorUlrik De Bie <ulrik.debie-os@e2big.org>
Sat, 23 Aug 2014 00:06:00 +0000 (17:06 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 26 Aug 2014 22:17:41 +0000 (15:17 -0700)
commita2418fc4a13b5da8d007a038c0a6a50a54edfabd
treeb306ff623f7c7659fd1d049b2e2dcfeda223f7fd
parentac84eba220c401f7616237ee6e5b73f66afb3590
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>
drivers/input/mouse/elantech.c
drivers/input/mouse/elantech.h