From 319fb38dedc9a85a841539a13f470e0e8eb30ecc Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 30 Nov 2015 15:00:43 +1000 Subject: [PATCH] tablet: drop pressure when either pressure or distance changed Keep pressure and distance mutually exclusive regardless which one of the two updates. Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede --- src/evdev-tablet.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/evdev-tablet.c b/src/evdev-tablet.c index 82029a9c..2442ecd6 100644 --- a/src/evdev-tablet.c +++ b/src/evdev-tablet.c @@ -853,7 +853,9 @@ sanitize_tablet_axes(struct tablet_dispatch *tablet) pressure = libevdev_get_abs_info(tablet->device->evdev, ABS_PRESSURE); /* Keep distance and pressure mutually exclusive */ - if (bit_is_set(tablet->changed_axes, LIBINPUT_TABLET_TOOL_AXIS_DISTANCE) && + if (distance && + (bit_is_set(tablet->changed_axes, LIBINPUT_TABLET_TOOL_AXIS_DISTANCE) || + bit_is_set(tablet->changed_axes, LIBINPUT_TABLET_TOOL_AXIS_PRESSURE)) && distance->value > distance->minimum && pressure->value > pressure->minimum) { clear_bit(tablet->changed_axes, LIBINPUT_TABLET_TOOL_AXIS_DISTANCE);