From fd278a2eda31663709d6c2c2d12b89ccf56a798a Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 12 Jan 2016 12:24:18 +1000 Subject: [PATCH] touchpad: disable MT for elantech semi-mt touchpads When three fingers are set down on the touchpad, one finger tends to get a 0/0 coordinate, triggering palm detection in the upper left corner. Handle this like the jumping semi-mt touchpads and disable MT handling and instead just rely on the x/y axis and the BTN_TOOL_* events. https://bugs.freedesktop.org/show_bug.cgi?id=93583 This kernel patch is required: https://lkml.org/lkml/2016/1/11/171 Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede (cherry picked from commit 556aac04b5d56f015d5da8b96e24fd78ad231760) --- src/evdev-mt-touchpad.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index aa123cd4..2bc9bc81 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -1496,7 +1496,8 @@ tp_init_slots(struct tp_dispatch *tp, * explanation. */ if (tp->semi_mt && - (device->model_flags & EVDEV_MODEL_JUMPING_SEMI_MT)) { + (device->model_flags & + (EVDEV_MODEL_JUMPING_SEMI_MT|EVDEV_MODEL_ELANTECH_TOUCHPAD))) { tp->num_slots = 1; tp->slot = 0; tp->has_mt = false;