libei/test
Peter Hutterer ff9e8905a0 Add support for swipe, pinch and hold gestures
On the protocol level these are implemented as three separate interfaces
for swipe, pinch and hold, each interface has the begin/update/end
sequence and effectively matches the wayland pointer-gestures protocol.

Notably, only one of each gesture may be active at any time though the
protocol allows for separate gestures to be active (i.e. swipe while
pinching).

On the library side the gestures match the touch interface so the
sequence for a sender is:

  swipe = ei_device_new_swipe(device, finger_count);
  ei_swipe_begin(swipe);
  ei_swipe_update(swipe, dx, dy);
  ei_swipe_end(swipe);

with the corresponding APIs for pinch and hold.

On the receiver side the event types are separated for BEGIN/UPDATE/END
for all three gestures and thus match the libinput interface.

The notable difference however: there is only one CAP_GESTURES (similar
to libinput) and it is set if any gesture is available on the caller.
Creating a swipe gesture if the remote end does not support it will
return NULL though.

Co-Authored-by: Claude Code <noreply@anthropic.com>
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/309>
2026-04-21 11:12:29 +10:00
..
templates test: drop a bunch of unused imports 2023-02-15 08:20:01 +10:00
buildtest.c Format the code with clang-format 2026-03-12 13:55:19 +10:00
buildtest.cc test: make the c++ build test mirror the c build test 2024-12-02 00:23:14 +00:00
conftest.py test: run pytest with xdist where available 2023-03-03 11:27:01 +10:00
eierpecken.c Add support for swipe, pinch and hold gestures 2026-04-21 11:12:29 +10:00
eierpecken.h Add support for swipe, pinch and hold gestures 2026-04-21 11:12:29 +10:00
eiproto.py.tmpl test: drop the use of attr 2024-12-10 05:06:49 +00:00
meson.build meson.build: apply consistent indentation 2025-11-06 10:56:01 +10:00
test-ei-device.c Add support for swipe, pinch and hold gestures 2026-04-21 11:12:29 +10:00
test-ei-seat.c Format the code with clang-format 2026-03-12 13:55:19 +10:00
test-ei.c Format the code with clang-format 2026-03-12 13:55:19 +10:00
test-eis.c Fix varius typos across the codebase 2026-03-23 12:37:45 +10:00
test-main.c Remove empty trailing newlines from all files 2023-03-13 08:52:08 +10:00
test_oeffis.py test: rename a variable to shut up ruff with default args 2024-12-10 05:06:49 +00:00
test_protocol.py Fix varius typos across the codebase 2026-03-23 12:37:45 +10:00
test_scanner.py Fix varius typos across the codebase 2026-03-23 12:37:45 +10:00
unit-tests.c Add SPDX identifiers to all source files 2022-03-03 00:27:36 +00:00