linux/drivers/input/mouse
Dmitry Torokhov e51e38494a Input: synaptics - fix handling of disabling gesture mode
Bit 2 of the mode byte has dual meaning: it can disable reporting of
gestures when touchpad works in Relative mode or normal Absolute mode,
or it can enable so called Extended W-Mode when touchpad uses enhanced
Absolute mode (W-mode). The extended W-Mode confuses our driver and
causes missing button presses on some Thinkpads (x250, T450s), so let's
make sure we do not enable it.

Also, according to the spec W mode "... bit is defined only in Absolute
mode on pads whose capExtended capability bit is set. In Relative mode and
in TouchPads without this capability, the bit is reserved and should be
left at 0.", so let's make sure we respect this requirement as well.

Reported-by: Nick Bowler <nbowler@draconx.ca>
Suggested-by: Gabor Balla <gaborwho@gmail.com>
Tested-by: Gabor Balla <gaborwho@gmail.com>
Tested-by: Nick Bowler <nbowler@draconx.ca>
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-08-26 10:09:22 -07:00
..
alps.c Input: alps - only Dell laptops have separate button bits for v2 dualpoint sticks 2015-08-03 14:11:47 -07:00
alps.h Input: alps - use more accurate coordinates for first touch in semi-mt mode 2015-05-20 14:45:44 -07: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 Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
bcm5974.c Input: bcm5974 - add support for the 2015 Macbook Pro 2015-07-27 15:43:47 -07:00
cyapa_gen3.c Input: cyapa - do not set otherwise unused variable 2015-05-21 15:59:23 -07:00
cyapa_gen5.c Input: cyapa - fix a few typos in comments 2015-05-26 14:16:09 -07:00
cyapa.c Input: cyapa - fix setting suspend scan rate 2015-04-20 10:30:09 -07:00
cyapa.h Input: cyapa - add gen5 trackpad read baseline support 2015-01-18 00:10:32 -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_core.c Input: elan_i2c - change the hover event from MT to ST 2015-07-07 11:28:31 -07:00
elan_i2c_i2c.c Input: elan_i2c - add support for multi IC type and iap format 2015-06-08 17:12:24 -07:00
elan_i2c_smbus.c Input: elan_i2c - add support for multi IC type and iap format 2015-06-08 17:12:24 -07:00
elan_i2c.h Input: elan_i2c - add product IDs FW names 2015-06-08 17:12:25 -07:00
elantech.c Input: elantech - add special check for fw_version 0x470f01 touchpad 2015-08-07 14:54:15 -07:00
elantech.h Input: elantech - add special check for fw_version 0x470f01 touchpad 2015-08-07 14:54:15 -07:00
focaltech.c Input: focaltech - report finger width to userspace 2015-06-02 10:46:10 -07:00
focaltech.h Input: psmouse - use IS_ENABLED instead of homegrown code 2015-02-15 16:08:35 -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 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
Kconfig Input: vmmouse - do not reference non-existing version of X driver 2015-05-20 14:47:26 -07:00
lifebook.c Input: lifebook - fix tabbing issue 2015-03-20 09:45:51 -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 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
Makefile Input: add vmmouse driver 2015-04-14 14:29:03 -07: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 Input: switch to input_abs_*() access functions 2010-08-02 20:29:56 -07:00
psmouse-base.c Input: psmouse - use true instead of 1 for boolean values 2015-05-26 14:16:10 -07:00
psmouse.h Input: add vmmouse driver 2015-04-14 14:29:03 -07: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 - 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_i2c.c Input: synaptics_i2c - use proper boolean values 2015-05-26 14:16:11 -07:00
synaptics_usb.c Input: add missing POINTER / DIRECT properties to a bunch of drivers 2014-09-08 14:58:12 -07:00
synaptics.c Input: synaptics - fix handling of disabling gesture mode 2015-08-26 10:09:22 -07:00
synaptics.h Linux 4.0-rc5 2015-03-23 09:18:27 -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: psmouse - expose drift duration for IBM trackpoints 2014-12-17 15:46:51 -08:00
trackpoint.h Input: psmouse - expose drift duration for IBM trackpoints 2014-12-17 15:46:51 -08:00
vmmouse.c Input: add vmmouse driver 2015-04-14 14:29:03 -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