Aaron Ma
42f0aba58e
Input: trackpoint - force 3 buttons if 0 button is reported
...
commit f5d07b9e98022d50720e38aa936fc11c67868ece upstream.
Lenovo introduced trackpoint compatible sticks with minimum PS/2 commands.
They supposed to reply with 0x02, 0x03, or 0x04 in response to the
"Read Extended ID" command, so we would know not to try certain extended
commands. Unfortunately even some trackpoints reporting the original IBM
version (0x01 firmware 0x0e) now respond with incorrect data to the "Get
Extended Buttons" command:
thinkpad_acpi: ThinkPad BIOS R0DET87W (1.87 ), EC unknown
thinkpad_acpi: Lenovo ThinkPad E470, model 20H1004SGE
psmouse serio2: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 0/0
Since there are no trackpoints without buttons, let's assume the trackpoint
has 3 buttons when we get 0 response to the extended buttons query.
Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=196253
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-01-31 12:55:53 +01:00
..
alps.c
Input: ALPS - fix multi-touch decoding on SS4 plus touchpads
2018-01-23 19:57:07 +01:00
alps.h
Input: ALPS - fix multi-touch decoding on SS4 plus touchpads
2018-01-23 19:57:07 +01:00
amimouse.c
input: mouse: drop owner assignment from platform_drivers
2014-10-20 16:20:40 +02:00
appletouch.c
Input: appletouch - fix jumps when additional fingers are detected
2014-03-30 23:44:17 -07:00
atarimouse.c
bcm5974.c
Input: bcm5974 - add support for the 2015 Macbook Pro
2015-07-27 15:43:47 -07:00
byd.c
Merge branch 'next' into for-linus
2016-05-16 17:25:08 -07:00
byd.h
Input: byd - add BYD PS/2 touchpad driver
2016-01-27 17:27:25 -08:00
cyapa.c
Input: cyapa - fix for losing events during device power transitions
2016-03-04 11:32:13 -08:00
cyapa.h
Input: cyapa - fix for losing events during device power transitions
2016-03-04 11:32:13 -08:00
cyapa_gen3.c
Input: cyapa - fix for losing events during device power transitions
2016-03-04 11:32:13 -08:00
cyapa_gen5.c
Input: cyapa - fix for losing events during device power transitions
2016-03-04 11:32:13 -08:00
cyapa_gen6.c
Input: cyapa - fix for losing events during device power transitions
2016-03-04 11:32:13 -08:00
cypress_ps2.c
Input: psmouse - use IS_ENABLED instead of homegrown code
2015-02-15 16:08:35 -08:00
cypress_ps2.h
Input: psmouse - use IS_ENABLED instead of homegrown code
2015-02-15 16:08:35 -08:00
elan_i2c.h
Input: elan_i2c - expand maximum product_id form 0xFF to 0xFFFF
2015-09-21 09:32:40 -07:00
elan_i2c_core.c
Input: elan_i2c - add ELAN060C to the ACPI table
2017-11-15 15:53:19 +01:00
elan_i2c_i2c.c
Input: elan_i2c - expand maximum product_id form 0xFF to 0xFFFF
2015-09-21 09:32:40 -07:00
elan_i2c_smbus.c
Input: elan_i2c - fix return tests of i2c_smbus_read_block_data()
2016-10-03 16:41:00 -07:00
elantech.c
Input: elantech - add new icbody type 15
2018-01-10 09:29:53 +01:00
elantech.h
Input: elantech - add special check for fw_version 0x470f01 touchpad
2015-08-07 14:54:15 -07:00
focaltech.c
Input: psmouse - cleanup Focaltech code
2016-10-24 17:19:25 -07:00
focaltech.h
Input: psmouse - rearrange Focaltech init code
2015-12-17 15:23:54 -08:00
gpio_mouse.c
input: mouse: drop owner assignment from platform_drivers
2014-10-20 16:20:40 +02:00
hgpk.c
Input: hgpk - use %*ph to dump small buffer
2012-09-12 21:57:13 -07:00
hgpk.h
inport.c
Kconfig
Input: byd - add BYD PS/2 touchpad driver
2016-01-27 17:27:25 -08:00
lifebook.c
Input: psmouse - use same format for secondary devices as for primary
2016-06-18 17:39:23 -07:00
lifebook.h
Input: lifebook - use "static inline" instead of "inline" in lifebook.h
2014-11-09 22:59:25 -08:00
logibm.c
logips2pp.c
Input: psmouse - rename ps2pp_init() to ps2pp_detect()
2015-12-17 15:24:37 -08:00
logips2pp.h
Input: psmouse - rename ps2pp_init() to ps2pp_detect()
2015-12-17 15:24:37 -08:00
Makefile
Input: byd - add BYD PS/2 touchpad driver
2016-01-27 17:27:25 -08:00
maplemouse.c
Input: remove use of __devexit
2012-11-24 00:05:38 -08:00
navpoint.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2014-12-17 10:06:02 -08:00
pc110pad.c
psmouse-base.c
Input: psmouse - disable automatic probing of BYD touchpads
2016-11-16 17:25:31 -08:00
psmouse.h
Input: byd - add BYD PS/2 touchpad driver
2016-01-27 17:27:25 -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 - silence some underflow warnings
2015-08-21 09:32:59 -07:00
sentelic.h
Input: sentelic - use "static inline" instead of "inline"
2015-05-22 10:59:54 -07:00
sermouse.c
Input: delete non-required instances of include <linux/init.h>
2014-01-06 23:23:57 -08:00
synaptics.c
Input: synaptics - handle spurious release of trackstick buttons, again
2016-03-17 17:15:57 -07:00
synaptics.h
Linux 4.0-rc5
2015-03-23 09:18:27 -07:00
synaptics_i2c.c
Input: drop owner assignment from i2c_driver
2015-07-17 16:57:00 -07:00
synaptics_usb.c
Input: add missing POINTER / DIRECT properties to a bunch of drivers
2014-09-08 14:58:12 -07:00
touchkit_ps2.c
touchkit_ps2.h
trackpoint.c
Input: trackpoint - force 3 buttons if 0 button is reported
2018-01-31 12:55:53 +01:00
trackpoint.h
Input: trackpoint - add new trackpoint firmware ID
2017-08-30 10:21:44 +02:00
vmmouse.c
Input: vmmouse - remove port reservation
2016-06-23 17:41:18 -07:00
vmmouse.h
Input: add vmmouse driver
2015-04-14 14:29:03 -07:00
vsxxxaa.c
Input: vsxxxaa - fix code dropping bytes from queue
2014-10-28 10:33:48 -07:00