libevdev/test
andeston d06abb81e5 Always push changed mt events when syncing
If the start and end of a touch are dropped, the slot, according to the
kernel, may have a different state. We should inform the client of these
changes even if the slot is not currently active.

For most axes this doesn't matter too much as we expect them to change
during an active touch anyway so we don't expect the kernel's caching to
be a problem. However where the ABS_MT_TOOL_TYPE changed during a sync
we need to inform the client of the new tool type so that future
touchese won't be erroneously treated as e.g. palms.

For a full reproducer see the test case but it comes down to:
- touch down with MT_TOOL_PALM, make sure libevdev reads the state
- change that slot to MT_TOOL_FINGER, trigger a sync
- ensure that libevdev pushes out that tool type change even if the
  slot is not currently active

Co-authored-by: Peter Hutterer <peter.hutterer@who-t.net>
Part-of: <https://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/124>
2025-01-06 13:21:29 +10:00
..
.gitignore Add a test for EVIOCREVOKE 2014-02-26 07:22:04 +10:00
generate-gcov-report.sh Don't hardcode /bin/bash 2020-08-13 13:11:33 +02:00
Makefile.am test: drop the valgrind make check wrappers from autotools 2023-01-04 15:51:58 +10:00
test-common-uinput.c Change to the (always intended) MIT license 2021-01-25 13:46:55 +10:00
test-common-uinput.h Change to the (always intended) MIT license 2021-01-25 13:46:55 +10:00
test-common.c Change to the (always intended) MIT license 2021-01-25 13:46:55 +10:00
test-common.h Change to the (always intended) MIT license 2021-01-25 13:46:55 +10:00
test-compile-pedantic.c test: add a build test for -Wpedantic 2013-11-23 09:00:53 +10:00
test-context.c Change to the (always intended) MIT license 2021-01-25 13:46:55 +10:00
test-event-codes.c Change to the (always intended) MIT license 2021-01-25 13:46:55 +10:00
test-event-names.c Change to the (always intended) MIT license 2021-01-25 13:46:55 +10:00
test-int-queue.c Change to the (always intended) MIT license 2021-01-25 13:46:55 +10:00
test-kernel.c Change to the (always intended) MIT license 2021-01-25 13:46:55 +10:00
test-libevdev-events.c Always push changed mt events when syncing 2025-01-06 13:21:29 +10:00
test-libevdev-has-event.c Fix a few whitespace/coding style issues 2022-07-11 15:31:45 +10:00
test-libevdev-init.c Change to the (always intended) MIT license 2021-01-25 13:46:55 +10:00
test-link.c test: add basic link test 2013-12-12 13:19:52 +10:00
test-main.c test: Get the print mode from the CK_VERBOSITY environment variable 2023-04-19 16:40:14 +02:00
test-static-symbols-leak.sh Don't hardcode /bin/bash 2020-08-13 13:11:33 +02:00
test-uinput.c Change to the (always intended) MIT license 2021-01-25 13:46:55 +10:00
valgrind.suppressions meson.build: hook up the static symbols leak test 2020-02-19 08:34:55 +10:00