libinput/test
Peter Hutterer 1e1b9c0e60 touchpad: never reduce the slot count to 0
Where a user releases all touches during a SYN_DROPPED and then puts more than
one finger back down before we sync, we end up with nonzero fake touches but
a zero slot count. This is caused by a wrong event sequences provided by
libevdev in that case.

This really needs to be fixed in libevdev, see
https://gitlab.freedesktop.org/libevdev/libevdev/merge_requests/19

In the meantime, put a check in to ignore that case and never reduce the slot
count to 0. It still leaves us open for some issues where 3fg gestures may
stop working if the right sequences are triggered during SYN_DROPPED but
updating libevdev will eventually make that go away too.

Fixes #422

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-02-18 06:26:56 +00:00
..
50-litest.conf test: Prefix litest created device names with litest 2014-06-25 11:11:45 +10:00
build-cxx.cc test: Add include from C++ build test 2014-03-29 00:51:44 +01:00
build-pedantic.c Fix a couple of coding style issues 2015-05-01 12:09:57 +10:00
check-double-macros.h Add the ck_double_eq_tol() macros to the backwards compat headers 2019-08-08 13:58:54 +10:00
check-leftover-udev-rules.sh test: add a script to check for leftover litest rules 2018-03-23 12:41:23 +10:00
generate-gcov-report.sh Hook up gcov for coverage reports 2017-01-20 10:35:37 +10:00
helper-copy-and-exec-from-tmp.sh tools: move the builddir lookup function out to a separate file 2019-03-14 11:28:05 +10:00
libinput-test-suite.man test: make the test suite runner available as installed binary 2019-03-14 12:04:22 +10:00
litest-device-absinfo-override.c test: add a test case for checking EVDEV_ABS overrides 2020-02-12 21:22:01 +10:00
litest-device-acer-hawaii-keyboard.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-acer-hawaii-touchpad.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-aiptek-tablet.c test: mark the tablets that require forced prox out as such 2020-02-13 04:53:27 +00:00
litest-device-alps-3fg.c touchpad: correct a wrong slot count by the kernel 2020-01-29 15:58:49 +10:00
litest-device-alps-dualpoint.c test: fix the input_id struct for the ALPS touchpad 2018-06-14 15:22:38 +10:00
litest-device-alps-semi-mt.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-anker-mouse-kbd.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-apple-appletouch.c test: fix a test device section name 2018-06-14 15:54:02 +10:00
litest-device-apple-internal-keyboard.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-apple-magicmouse.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-asus-rog-gladius.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-atmel-hover.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-bcm5974.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-calibrated-touchscreen.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-cyborg-rat-5.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-dell-canvas-totem-touch.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-dell-canvas-totem.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-elan-tablet.c tablet: fix the handling of axis updates after a forced proximity out 2020-02-02 23:46:14 +00:00
litest-device-elantech-touchpad.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-generic-singletouch.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-gpio-keys.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-hp-wmi-hotkeys.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-huion-pentablet.c test: mark the tablets that require forced prox out as such 2020-02-13 04:53:27 +00:00
litest-device-ignored-mouse.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-keyboard-all-codes.c test: let the device custom create method return a bool 2019-03-22 16:23:17 +10:00
litest-device-keyboard-razer-blackwidow.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-keyboard-razer-blade-stealth-videoswitch.c Merge branch 'wip/litest-use-sections-for-tests-v2' 2017-09-25 14:35:46 +10:00
litest-device-keyboard-razer-blade-stealth.c Merge branch 'wip/litest-use-sections-for-tests-v2' 2017-09-25 14:35:46 +10:00
litest-device-keyboard.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-lid-switch-surface3.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-lid-switch.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-logitech-trackball.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-magic-trackpad.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-mouse-low-dpi.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-mouse-roccat.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-mouse-wheel-click-angle.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-mouse-wheel-click-count.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-mouse-wheel-tilt.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-mouse.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-ms-nano-transceiver-mouse.c Remove some duplicate empty lines 2018-04-16 15:14:23 +10:00
litest-device-ms-surface-cover.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-nexus4-touch-screen.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-protocol-a-touch-screen.c test: make the custom touch override methods filter-able 2020-01-29 15:58:49 +10:00
litest-device-qemu-usb-tablet.c test: make the custom touch override methods filter-able 2020-01-29 15:58:49 +10:00
litest-device-synaptics-hover.c udev: drop the JUMPING_SEMI_MT quirk, no-one uses it 2018-05-31 13:09:37 +10:00
litest-device-synaptics-i2c.c Switch from udev property parsing to the quirks system 2018-06-08 14:37:22 +10:00
litest-device-synaptics-rmi4.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-synaptics-st.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-synaptics-t440.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-synaptics-x1-carbon-3rd.c Switch from udev property parsing to the quirks system 2018-06-08 14:37:22 +10:00
litest-device-synaptics-x220.c test: rename the x220 clickpad to something more telling 2018-08-07 10:00:40 +10:00
litest-device-thinkpad-extrabuttons.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-touch-screen.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-touchscreen-fuzz.c udev: re-instate the model-quirks callout 2018-09-10 15:57:27 +10:00
litest-device-touchscreen-invalid-range.c test: remove unsupported events from the invalid-range touchscreen test device 2018-07-16 10:37:42 +10:00
litest-device-touchscreen-mt-tool.c fallback: add support for ABS_MT_TOOL_TYPE for touch screens 2018-08-03 14:21:18 +10:00
litest-device-trackpoint.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-uclogic-tablet.c test: mark the tablets that require forced prox out as such 2020-02-13 04:53:27 +00:00
litest-device-vmware-virtual-usb-mouse.c test: make the custom touch override methods filter-able 2020-01-29 15:58:49 +10:00
litest-device-wacom-bamboo-2fg-finger.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-bamboo-2fg-pad.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-bamboo-2fg-pen.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-bamboo-16fg-pen.c test: abort when no default value is available for an axis 2019-04-11 17:50:09 +10:00
litest-device-wacom-cintiq-12wx-pen.c test: mark all current tablets as having a hover feature 2019-02-13 18:45:04 +10:00
litest-device-wacom-cintiq-13hdt-finger.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-cintiq-13hdt-pad.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-cintiq-13hdt-pen.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-cintiq-24hd-pen.c test: mark all current tablets as having a hover feature 2019-02-13 18:45:04 +10:00
litest-device-wacom-cintiq-24hdt-pad.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-cintiq-pro-16-finger.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-cintiq-pro-16-pad.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-cintiq-pro-16-pen.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-ekr.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-hid4800-pen.c test: fix the hid4800 device's prox out serial number 2019-04-09 13:42:13 +10:00
litest-device-wacom-intuos3-pad.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-intuos5-finger.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-intuos5-pad.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-intuos5-pen.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-wacom-isdv4-4200-pen.c tablet: disable the forced proximity out for the Dell Canvas pen 2019-06-17 14:39:58 +10:00
litest-device-wacom-isdv4-e6-finger.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-wacom-isdv4-e6-pen.c test: mark all current tablets as having a hover feature 2019-02-13 18:45:04 +10:00
litest-device-wacom-mobilestudio-pro-pad.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-waltop-tablet.c test: mark all current tablets as having a hover feature 2019-02-13 18:45:04 +10:00
litest-device-wheel-only.c test: auto-generate the udev rules 2019-06-14 08:52:58 +10:00
litest-device-xen-virtual-pointer.c test: make the custom touch override methods filter-able 2020-01-29 15:58:49 +10:00
litest-device-yubikey.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-int.h test: make the custom touch override methods filter-able 2020-01-29 15:58:49 +10:00
litest-selftest.c test: disable coredumps for the selftest 2019-06-26 21:07:21 +10:00
litest.c test: add a test case for checking EVDEV_ABS overrides 2020-02-12 21:22:01 +10:00
litest.h test: mark the tablets that require forced prox out as such 2020-02-13 04:53:27 +00:00
symbols-leak-test test: tidy up the symbols leak test 2018-07-12 11:09:00 +10:00
test-builddir-lookup.c tools: move the builddir lookup function out to a separate file 2019-03-14 11:28:05 +10:00
test-device.c Add a new dispatch interface for the Dell Canvas Totem 2019-06-07 01:03:21 +00:00
test-gestures.c test: wrap slot counting into a helper function 2020-01-29 15:58:49 +10:00
test-keyboard.c Avoid unnecessary VLAs 2019-06-15 15:24:10 -07:00
test-library-version.c test: split the library version test out 2019-03-14 11:28:05 +10:00
test-log.c test: mark the protocol A device as touch device 2019-03-22 16:23:17 +10:00
test-misc.c test: add a test case for checking EVDEV_ABS overrides 2020-02-12 21:22:01 +10:00
test-pad.c pad: add LIBINPUT_EVENT_TABLET_PAD_KEY for pad keys 2019-12-04 15:38:39 +10:00
test-path.c test: replace != NULL checks with ck_assert_notnull 2019-02-15 08:42:15 +10:00
test-pointer.c Add a scroll button lock feature 2019-10-17 12:21:41 +10:00
test-quirks.c quirks: add trackpoint integration attribute 2019-05-28 13:23:49 +10:00
test-switch.c test: add a missing blank line 2019-05-28 13:23:49 +10:00
test-tablet.c tablet: don't force a proximity out while buttons are down 2020-02-13 04:53:27 +00:00
test-totem.c Add a new dispatch interface for the Dell Canvas Totem 2019-06-07 01:03:21 +00:00
test-touch.c test: silence a coverity warning 2019-10-30 10:38:59 +10:00
test-touchpad-buttons.c test: wrap slot counting into a helper function 2020-01-29 15:58:49 +10:00
test-touchpad-tap.c test: wrap slot counting into a helper function 2020-01-29 15:58:49 +10:00
test-touchpad.c touchpad: never reduce the slot count to 0 2020-02-18 06:26:56 +00:00
test-trackball.c test: move all the _setup() functions into a special section 2018-03-23 10:17:52 +10:00
test-trackpoint.c test: replace != NULL checks with ck_assert_notnull 2019-02-15 08:42:15 +10:00
test-udev.c test: replace != NULL checks with ck_assert_notnull 2019-02-15 08:42:15 +10:00
test-util-includes.c Split utility functions into separate source files 2019-09-11 12:23:04 +10:00
test-utils.c test: indentation fix 2020-01-03 16:44:03 +10:00
valgrind.suppressions test: update valgrind suppressions for a glib leak 2019-05-01 12:03:38 +10:00