Don't try to send BTN_TOOL events for zero fingers
authorPeter Hutterer <peter.hutterer@who-t.net>
Wed, 19 Feb 2020 03:28:38 +0000 (13:28 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Wed, 19 Feb 2020 03:28:38 +0000 (13:28 +1000)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
libevdev/libevdev.c

index bd6fc96..e6323d1 100644 (file)
@@ -780,7 +780,7 @@ terminate_slots(struct libevdev *dev,
                 * sync event frame sync_key_state() sets everything correctly
                 * for the *real* number of touches.
                 */
-               if (ntouches_before <= 5) {
+               if (ntouches_before > 0 && ntouches_before <= 5) {
                        struct input_event ev = {
                                .type = EV_KEY,
                                .code = map[ntouches_before - 1],
@@ -790,7 +790,7 @@ terminate_slots(struct libevdev *dev,
                        update_key_state(dev, &ev);
                }
 
-               if (ntouches_after <= 5) {
+               if (ntouches_after > 0 && ntouches_after <= 5) {
                        struct input_event ev = {
                                .type = EV_KEY,
                                .code = map[ntouches_after - 1],