Find a file
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
.gitlab-ci CI: update to latest ci-templates 2025-01-06 12:57:50 +10:00
doc doc: fix distcheck 2019-06-05 11:15:15 +10:00
include/linux include: sync event codes with kernel 6.10 2024-07-15 15:57:02 +10:00
libevdev Always push changed mt events when syncing 2025-01-06 13:21:29 +10:00
m4 m4: fix CC_CHECK_WERROR and CC_FLAG_VISIBILITY macros 2014-06-05 15:16:06 +10:00
test Always push changed mt events when syncing 2025-01-06 13:21:29 +10:00
tools tools/publish-doc: enable pushing docs for specific tags 2023-05-07 23:48:44 +00:00
.editorconfig Use editorconfig instead of a sprinkling of :vim: instructions 2020-02-27 05:58:05 +00:00
.gitignore tools: add a man page for the touchpad-edge-detector tool 2020-10-06 09:56:33 +10:00
.gitlab-ci.yml CI: update to latest ci-templates 2025-01-06 12:57:50 +10:00
autogen.sh autogen: add default patch prefix 2017-01-26 14:25:02 +10:00
CODING_STYLE.md CODING_STYLE.md: fix a typo 2020-11-03 14:42:25 +08:00
configure.ac libevdev 1.13.3 2024-09-03 12:16:11 +10:00
COPYING Change to the (always intended) MIT license 2021-01-25 13:46:55 +10:00
libevdev.pc.in Fix name and version in pkgconfig file 2013-07-24 07:27:17 +10:00
Makefile.am Add support for the meson build system 2020-02-17 17:42:32 +10:00
meson.build libevdev 1.13.3 2024-09-03 12:16:11 +10:00
meson_options.txt meson.build: allow disabling building the various tools 2024-03-21 16:11:08 +10:00
README.md README: drop an obsolete paragraph 2020-10-26 09:06:09 +10:00

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