From d6b889852abd3e5f238769be55cb4a30e5db6dcb Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 17 Feb 2016 09:06:09 +1000 Subject: touchpad: add synaptics semi-mt devices to those needing hysteresis https://bugs.freedesktop.org/show_bug.cgi?id=94097 Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede --- src/evdev-mt-touchpad.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index d8b23345..912a0f0f 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -1991,17 +1991,28 @@ tp_init_hysteresis(struct tp_dispatch *tp) { int res_x, res_y; + if (tp->device->model_flags & EVDEV_MODEL_CYAPA) + goto want_hysteresis; + + if (tp->device->model_flags & EVDEV_MODEL_ALPS_RUSHMORE) + goto want_hysteresis; + + if (tp->semi_mt && + (tp->device->model_flags & EVDEV_MODEL_SYNAPTICS_SERIAL_TOUCHPAD)) + goto want_hysteresis; + + tp->hysteresis_margin.x = 0; + tp->hysteresis_margin.y = 0; + + return; + +want_hysteresis: res_x = tp->device->abs.absinfo_x->resolution; res_y = tp->device->abs.absinfo_y->resolution; - if (tp->device->model_flags & - (EVDEV_MODEL_CYAPA|EVDEV_MODEL_ALPS_RUSHMORE)) { - tp->hysteresis_margin.x = res_x/2; - tp->hysteresis_margin.y = res_y/2; - } else { - tp->hysteresis_margin.x = 0; - tp->hysteresis_margin.y = 0; - } + tp->hysteresis_margin.x = res_x/2; + tp->hysteresis_margin.y = res_y/2; + return; } static int -- cgit v1.2.3