Input: synaptics - re-route tracksticks buttons on the Lenovo 2015 series
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Mon, 9 Mar 2015 05:35:41 +0000 (22:35 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 9 Mar 2015 06:36:53 +0000 (23:36 -0700)
commitcdd9dc195916ef5644cfac079094c3c1d1616e4c
treeee98e276936443506a99af70e19af1fee6d594cd
parent3adde1f59195df2965f632e22b31f97fb371612f
Input: synaptics - re-route tracksticks buttons on the Lenovo 2015 series

The 2015 series of the Lenovo thinkpads added back the hardware buttons on
top of the touchpad for the trackstick.

Unfortunately, they are wired to the touchpad, and not the trackstick.
Thus, they are seen as extra buttons from the kernel point of view.

This leads to a problem in user space because extra buttons on synaptics
devices used to be used as scroll up/down buttons. So in the end, the
experience for the user is scroll events for buttons left and right when
using the trackstick. Yay!

Fortunately, the firmware advertises such behavior in the extended
capability $10, and so we can re-route the buttons through the pass-through
interface.

Hallelujah-expressed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/synaptics.c
drivers/input/mouse/synaptics.h