Input: cypress_ps2 - don't report as a button pads
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 <awilliam@redhat.com> Tested-by: Adam Williamson <awilliam@redhat.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
70b0052425
commit
6797b39e6f
|
@ -409,7 +409,6 @@ static int cypress_set_input_params(struct input_dev *input,
|
||||||
__clear_bit(REL_X, input->relbit);
|
__clear_bit(REL_X, input->relbit);
|
||||||
__clear_bit(REL_Y, input->relbit);
|
__clear_bit(REL_Y, input->relbit);
|
||||||
|
|
||||||
__set_bit(INPUT_PROP_BUTTONPAD, input->propbit);
|
|
||||||
__set_bit(EV_KEY, input->evbit);
|
__set_bit(EV_KEY, input->evbit);
|
||||||
__set_bit(BTN_LEFT, input->keybit);
|
__set_bit(BTN_LEFT, input->keybit);
|
||||||
__set_bit(BTN_RIGHT, input->keybit);
|
__set_bit(BTN_RIGHT, input->keybit);
|
||||||
|
|
Loading…
Reference in New Issue