libinput/test
Peter Hutterer 6ccd8e934f touchpad: add a TOUCH_MAYBE_END state
This state is used by the pre-processing of the touch states to indicate that
the touch point has ended and is changed to TOUCH_END as soon as that
pre-processing is finished.

Sometimes we have to resurrect a touch point that has physically or logically
ended but needs to be kept around to keep the BTN_TOOL_* fake finger count
happy. Particularly on Synaptics touchpads, where a BTN_TOOL_TRIPLETAP can
cause a touch point to end (i.e. 1 touch down + TRIPLETAP) but that touch
restarts in the next sequence. We had a quirk for this in place already, but
if we end the touch and then re-instate it with tp_begin_touch(), we may lose
some information about thumb/palm/etc. states that touch already had. As a
result, the state machines can get confused and a touch that was previously
ignored as thumb suddenly isn't one anymore and triggers assertions.

The specific sequence in bug 10528 is:
* touch T1 down
* touch T2 down, detected as speed-based thumb, tap state machine ignores
  it
* frame F: TRIPLETAP down, touch T2 up
* frame F+1: touch T2 down in next frame, but without the thumb bit
* frame F+n: touch T2 ends, tap state machine gets confused because
  that touch should not trigger a release

https://bugs.freedesktop.org/show_bug.cgi?id=105258

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-03-01 12:24:48 +10: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
generate-gcov-report.sh Hook up gcov for coverage reports 2017-01-20 10:35:37 +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: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-aiptek-tablet.c Add a test device for aiptek tablets 2018-02-13 16:04:58 +10:00
litest-device-alps-dualpoint.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +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: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +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: fix the device name for the magic mouse test device 2017-11-02 10:21:46 +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: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +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-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: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-hp-wmi-hotkeys.c test: fix udev rule for hp wmi hotkeys test device 2018-02-01 14:13:24 +10:00
litest-device-huion-pentablet.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-ignored-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-keyboard-all-codes.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-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: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-lid-switch.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +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: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-mouse-low-dpi.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-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: 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-count.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-tilt.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.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 evdev: add a quirk to disable debouncing on the MS Nano Transcievers 2018-02-13 15:58:48 +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: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-qemu-usb-tablet.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-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-synaptics-i2c.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-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 test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-synaptics.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-thinkpad-extrabuttons.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +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 test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +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: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-vmware-virtual-usb-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-wacom-bamboo-2fg-finger.c test: add a wacom bamboo test device 2017-10-20 15:44:32 +10:00
litest-device-wacom-bamboo-2fg-pad.c test: add a wacom bamboo test device 2017-10-20 15:44:32 +10:00
litest-device-wacom-bamboo-2fg-pen.c test: add a wacom bamboo test device 2017-10-20 15:44:32 +10:00
litest-device-wacom-bamboo-16fg-pen.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-cintiq-12wx-pen.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-cintiq-13hdt-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-cintiq-13hdt-pad.c test: fix pid for the 13HDT pad 2017-10-20 15:44:32 +10:00
litest-device-wacom-cintiq-13hdt-pen.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-cintiq-24hd-pen.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-cintiq-24hdt-pad.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-ekr.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-hid4800-pen.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-intuos3-pad.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-intuos5-finger.c test: send major/minor for the wacom intous 5 finger device 2018-02-20 15:48:06 +10:00
litest-device-wacom-intuos5-pad.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-intuos5-pen.c test: make the mouse tool a litest feature bit 2018-02-13 16:04:08 +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: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-wacom-mobilestudio-pro-pad.c test: fix missing BTN_9 for the MobileStudio device 2017-10-20 15:44:32 +10:00
litest-device-waltop-tablet.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-wheel-only.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +10:00
litest-device-xen-virtual-pointer.c test: switch to a TEST_DEVICE macro for all the litest test devices 2017-09-21 15:06:17 +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 Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-selftest.c test: fix compiler warning 2016-01-20 12:56:35 +10:00
litest.c touchpad: delay arbitration by 90ms after touch toggle 2018-02-21 15:58:35 +10:00
litest.h touchpad: delay arbitration by 90ms after touch toggle 2018-02-21 15:58:35 +10:00
symbols-leak-test.in test: allow running the symbols-leak-test.in script directly 2017-05-04 13:49:37 +10:00
test-device.c test: replace a litest button with a litest key call 2017-11-20 11:31:56 +10:00
test-gestures.c test: fix typo in test case name 2017-08-17 02:03:15 +02:00
test-keyboard.c fallback: send key events out immediately upon receiving them 2017-12-08 10:09:26 +10:00
test-log.c Include stdarg.h where variadic functions are used 2017-12-01 09:31:42 +10:00
test-misc.c Include stdarg.h where variadic functions are used 2017-12-01 09:31:42 +10:00
test-pad.c test: restore the non-debounced litest_button_click() 2017-11-20 11:31:56 +10:00
test-path.c Add support for LIBINPUT_IGNORE_DEVICE 2017-08-23 14:56:51 +10:00
test-pointer.c evdev: add a quirk to disable debouncing on the MS Nano Transcievers 2018-02-13 15:58:48 +10:00
test-switch.c test: swap KEY_POWER for KEY_VOLUMEUP on the switch key routing test 2018-02-05 17:49:04 +10:00
test-tablet.c touchpad: delay arbitration by 90ms after touch toggle 2018-02-21 15:58:35 +10:00
test-touch.c test: add a test for removing a touch device with a finger still down 2017-08-28 14:25:17 +10:00
test-touchpad-buttons.c test: restore the non-debounced litest_button_click() 2017-11-20 11:31:56 +10:00
test-touchpad-tap.c touchpad: don't end below-threshold pressure touches if nfake_fingers > nslots 2018-03-01 12:24:19 +10:00
test-touchpad.c touchpad: add a TOUCH_MAYBE_END state 2018-03-01 12:24:48 +10:00
test-trackball.c test: prefix all test source files with "test-" 2017-01-16 08:59:00 +10:00
test-trackpoint.c test: replace litest_button_click with a debounced version 2017-11-20 09:55:05 +10:00
test-udev.c udev: fix segfault when resuming before assigning a seat 2018-02-16 16:57:30 +10:00
valgrind.suppressions evdev: recover from a lost button count 2017-07-25 09:30:24 +10:00