]> git.baikalelectronics.ru Git - kernel.git/commit
Input: alps - fix touchpad buttons getting stuck when used with trackpoint
authorHans de Goede <hdegoede@redhat.com>
Wed, 8 Apr 2015 16:26:42 +0000 (09:26 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sun, 12 Apr 2015 22:39:41 +0000 (15:39 -0700)
commit100f3bc35c4618d5f72bebac901ab2f8479f3a82
treeb72aa7111e569de19c7e69ae3428a8f91deedd53
parent22b781168238312278a5a296cf33ca1c9a4cc667
Input: alps - fix touchpad buttons getting stuck when used with trackpoint

When the left touchpad button gets pressed, and then the trackpoint is
moved, and then the button is released, the following happens:

1) touchpad packet is received, touchpad evdev node reports BTN_LEFT 1

2) pointing stick packet is received, the hw will report a BTN_LEFT 1 in
   this packet because when the trackstick is active it communicates the
   combined touchpad + pointing stick buttons in the trackstick packet,
   since alps_report_bare_ps2_packet passes NULL (*) for the dev2 parameter
   to alps_report_buttons the combining is not detected and the
   pointing stick evdev node will also report BTN_LEFT 1

3) on release of the button a pointing stick packet with BTN_LEFT 0 is
   received and the pointing stick evdev node will report BTN_LEFT 0

Note how because of the passing as NULL for dev2 the touchpad evdev node
will never send BTN_LEFT 0 in this scenario leading to a stuck mouse button.

This is a regression in 4.0 introduced by commit ee2a3693b674b
("Input: ALPS - do not mix trackstick and external PS/2 mouse data")

This commit fixes this by passing in the touchpad evdev as dev2 parameter
when calling alps_report_buttons for the pointingstick on alps v2 devices,
so that alps_report_buttons correctly detect that we're already reporting
the button as pressed via the touchpad evdev node, and will also send the
release event there.

Cc: stable@vger.kernel.org # 4.0
Reported-by: Hans de Bruin <jmdebruin@xmsnet.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/mouse/alps.c