[PATCH libinput v3 11/17] touchpad: Ignore non left clicks on clickpads

Hans de Goede hdegoede at redhat.com
Tue May 20 07:34:59 PDT 2014


We should never get any non left button events on clickpads, but if we
do these might confuse our state, so complain about it and ignore these.

Signed-off-by: Hans de Goede <hdegoede at redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 src/evdev-mt-touchpad-buttons.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/evdev-mt-touchpad-buttons.c b/src/evdev-mt-touchpad-buttons.c
index 76e6843..f1d65be 100644
--- a/src/evdev-mt-touchpad-buttons.c
+++ b/src/evdev-mt-touchpad-buttons.c
@@ -367,6 +367,13 @@ tp_process_button(struct tp_dispatch *tp,
 		  uint32_t time)
 {
 	uint32_t mask = 1 << (e->code - BTN_LEFT);
+
+	/* Ignore other buttons on clickpads */
+	if (tp->buttons.is_clickpad && e->code != BTN_LEFT) {
+		log_bug("received non BTN_LEFT button event on a clickpad (kernel bug?)\n");
+		return 0;
+	}
+
 	if (e->value) {
 		tp->buttons.state |= mask;
 		tp->queued |= TOUCHPAD_EVENT_BUTTON_PRESS;
-- 
1.9.0



More information about the wayland-devel mailing list