]> git.baikalelectronics.ru Git - kernel.git/commit
Input: synaptics - fix handling of disabling gesture mode
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 20 Aug 2015 21:28:48 +0000 (14:28 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 26 Aug 2015 17:09:22 +0000 (10:09 -0700)
commit1b0ac4d8bb7ebcc732826b4b16cf5283eeee0e50
tree22c219137b4a0f9d385ac9f0718d05979fd5312d
parentb4883dda36ac57ea5d95c6dea69f0d204d4531de
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>
drivers/input/mouse/synaptics.c