Re: [PATCH] input: cypress_ps2: Don't report the cypress PS/2 trackpads as a button pad
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2014-03-28 08:01:31
On Mon, Mar 24, 2014 at 02:49:35PM +0100, Hans de Goede wrote:
The cypress PS/2 trackpad models supported by the cypress_ps2 driver emulate BTN_RIGHT events in firmware based on the finger position, as part of this no motion events are sent when the finger is in the button area. The INPUT_PROP_BUTTONPAD property is there to indicate to userspace that BTN_RIGHT events should be emulated in userspace, which is not necessary in this case. When INPUT_PROP_BUTTONPAD is advertised userspace will wait for a motion event before propagating the button event higher up the stack, as it needs current abs x + y data for its BTN_RIGHT emulation. Since in the cypress_ps2 pads don't report motion events in the button area, this means that clicks in the button area end up being ignored, so INPUT_PROP_BUTTONPAD actually causes problems for these touchpads, and removing it fixes: https://bugs.freedesktop.org/show_bug.cgi?id=76341 Reported-by: Adam Williamson <redacted> Tested-by: Adam Williamson <redacted> Reviewed-by: Peter Hutterer <redacted> Cc: Adam Williamson <redacted> Cc: Peter Hutterer <redacted> Signed-off-by: Hans de Goede <redacted>
Applied, thank you.
quoted hunk ↗ jump to hunk
--- drivers/input/mouse/cypress_ps2.c | 1 - 1 file changed, 1 deletion(-)diff --git a/drivers/input/mouse/cypress_ps2.c b/drivers/input/mouse/cypress_ps2.c index 87095e2..8af34ff 100644 --- a/drivers/input/mouse/cypress_ps2.c +++ b/drivers/input/mouse/cypress_ps2.c@@ -409,7 +409,6 @@ static int cypress_set_input_params(struct input_dev *input, __clear_bit(REL_X, input->relbit); __clear_bit(REL_Y, input->relbit); - __set_bit(INPUT_PROP_BUTTONPAD, input->propbit); __set_bit(EV_KEY, input->evbit); __set_bit(BTN_LEFT, input->keybit); __set_bit(BTN_RIGHT, input->keybit);-- 1.9.0
-- Dmitry