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> |
||
|---|---|---|
| .gitlab-ci | ||
| doc | ||
| include/linux | ||
| libevdev | ||
| m4 | ||
| test | ||
| tools | ||
| .editorconfig | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| autogen.sh | ||
| CODING_STYLE.md | ||
| configure.ac | ||
| COPYING | ||
| libevdev.pc.in | ||
| Makefile.am | ||
| meson.build | ||
| meson_options.txt | ||
| README.md | ||
libevdev - wrapper library for evdev input devices
libevdev is a wrapper library for evdev devices. it moves the common tasks when dealing with evdev devices into a library and provides a library interface to the callers, thus avoiding erroneous ioctls, etc.
https://gitlab.freedesktop.org/libevdev/libevdev.git
Go here for the API documentation: http://www.freedesktop.org/software/libevdev/doc/latest/
File bugs in the freedesktop.org GitLab instance: https://gitlab.freedesktop.org/libevdev/libevdev/issues/
Patches should be submitted as merge requests in the GitLab instance: https://gitlab.freedesktop.org/libevdev/libevdev/merge_requests/
Questions and general comments should be submitted to the input-tools@lists.freedesktop.org mailing list: http://lists.freedesktop.org/mailman/listinfo/input-tools