diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index 501744ac6056708f69757c308d34ebe57604d325..a3e243b39d1fcc480d4c89867822e4e22dab2217 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -138,6 +138,9 @@ tp_motion_hysteresis(struct tp_dispatch *tp, int x = t->point.x, y = t->point.y; + if (!tp->hysteresis.enabled) + return; + if (t->history.count == 0) { t->hysteresis_center = t->point; } else { @@ -2901,6 +2904,7 @@ tp_init_hysteresis(struct tp_dispatch *tp) res_y = tp->device->abs.absinfo_y->resolution; tp->hysteresis.margin.x = res_x/2; tp->hysteresis.margin.y = res_y/2; + tp->hysteresis.enabled = true; } static void diff --git a/src/evdev-mt-touchpad.h b/src/evdev-mt-touchpad.h index 6110a2bcbc745be10f67426bed078b092a6e2370..ab4bcde115e071523a8b7902f81852ddfa7ae7b7 100644 --- a/src/evdev-mt-touchpad.h +++ b/src/evdev-mt-touchpad.h @@ -270,6 +270,7 @@ struct tp_dispatch { } touch_size; struct { + bool enabled; struct device_coords margin; } hysteresis;