libinput 1.18rc1 is now available. This release brings two new features and the correspoding API additions: hold gestures and high-resolution wheel scrolling (which changes the scroll APIs).
Hold gestures are a new type of gestures that are triggered by holding one or more fingers on a touchpad without significant movement. They add to the existing pinch and swipe gestures and allow for the implementation of hold-to-click. Where callers implement kinetic scrolling, hold gestures can be used to stop scrolling - since the gesture is triggered on a finger(s) down after a scroll motion, that event can be used to stop scrolling. Many thanks to José Expósito for the new gestures. High-resolution wheel scrolling has been long in the making and the solution ends up replacing the existing pointer axis API. Three new events are available: LIBINPUT_EVENT_POINTER_SCROLL_WHEEL, LIBINPUT_EVENT_POINTER_SCROLL_FINGER, and LIBINPUT_EVENT_POINTER_SCROLL_CONTINUOUS. These events **replace** the existing LIBINPUT_EVENT_POINTER_AXIS events, i.e. if you are processing the new events simply discard the old events. The FINGER and CONTINUOUS events are very similar to the previous event, the WHEEL event supporst a new API: libinput_event_pointer_get_scroll_value_v120(). That function returns the value of a scroll movement in multiples or fractions of 120. For example, a high-resolution scroll event that triggers 4 events instead of just 1 per 15 degree rotation will generate 4 events with a value of 30 each. Many thanks to José Expósito for taking those patches and pushing them over the line so they could be merged. The documentation has been updated for the new APIs, please see https://wayland.freedesktop.org/libinput/doc/latest/. The rest of the changes is the usual mix of janitorial patches and device-specific quirks. As usual, the git shortlog is below. Andrea Ippolito (1): doc/user: make "verifying install" command portable Dmitry Maluka (1): quirks: Thinkpad T470 trackpoint multiplier José Expósito (29): gestures: add a function to know if there is pending pointer motion gestures: refactor gesture enabled gestures: handle pointer motion as an extra state gestures: use events to change between states gestures: filter motion inside the gesture state machine libinput: add hold gesture public API and tool support gesutures: allow to configure hold gestures gestures: add hold gesture implementation tests: move existing gesture tests to functions to be able to reuse them tests: optionally hold in gesture test functions tests: add hold gesture tests gestures: add quick hold implementation doc: add touchpad gestures state machine diagram doc: update draw.io URL gestures: always save touch information gestures: move first_moved and first_mm up gestures: improve one finger hold detection doc: add common failed pipeline errors tools/debug-gui: move gtk_main_quit to a function tools/debug-gui: use GMainLoop instead of gtk_main tools/debug-gui: refactor UI element placement debug-gui: migrate to GTK4 debug-gui: pointer locking on Wayland debug-gui: pointer locking on X11 ci: update to GTK 4 when available meson.build: use the / operator instead of join_paths editorconfig: add settings for meson files quirks: Lenovo Trackpoint Keyboard II test: refactor litest_assert_event_type logic Kevin Anderson (1): quirks: add Framework Touchpad Quirk Mohamed Elsharnouby (1): quirks: add pressure range for Dell Latitude 7480 Peter Hutterer (27): doc: note that gestures may be cancelled doc: add docs for hold gestures meson.build: bump to 1.18.900 gitlab CI: add a comment to explain how to actually edit the CI quirks: add a quirk for the Huawei Matebook 2020 touchpad quirks: add a quirk for the X61 bezel buttons util-list: restore list_for_each_safe() to be a single statement Replace fallthrough comments with __attribute__((fallthrough)) Silence compiler warnings for -Wformat-nonliteral Disable -Wmissing-field-initializers Mark some functions as printf-like to silence some compiler warnings touchpad: remove two unused functions doc/user: fix the line alignments for the hold gesture tables doc/user: move the hold gesture section up to the others gitlab CI: name the qemu tags per distribution gitlab CI: split the qemu meson build parts out as separate template gitlab CI: update to latest ci-templates gitlab CI: move the SUITES handling to the template where it matters gitlab CI: use the ci-templates FreeBSD templates Define the versionsort overrides as inlines gitlab CI: debug the meson_build script gitlab CI: drop dependencies between jobs meson.build: disable documentation by default test: use MESON_TESTTHREADS to determine the number of jobs test: create devices for our udev seat checks High-resolution scroll wheel support libinput 1.18.901 Quytelda Kahja (3): quirks: Add tablet smoothing attribute. Add section for Lenovo Yoga C930 tablet in 50-system-lenovo.quirks. test: Add test for parsing of boolean quirk attributes. Sanjiv (1): Update quirks/50-system-chuwi.quirks The_Observer (1): quirks: add a quirk for the Purism Librem 14v1 Thomas Stenhouse-Pyne (1): quirks: add volume rocker quirk for Lenovo Duet 7i Thomas Weißschuh (1): evdev: remove device when it is gone luokai (1): using secure functions safe_strdup satrmb (1): quirks: Chuwi AeroBook Plus has a clickpad falsely claiming to have BTN_RIGHT git tag: 1.18.901 https://www.freedesktop.org/software/libinput/libinput-1.18.901.tar.xz SHA256: 9597051eccfc56cd91ad9323a66a4d7db90f758ef5cabe3ce82dd279b7f19d40 libinput-1.18.901.tar.xz SHA512: 383ffc85eaa74c58860600617878bfc60ae2dd9a29b975f2a393575901f76abeb3721194c00e62054218ffdf8cf479dd9deba58a906e4e7ef17df561fe1f5207 libinput-1.18.901.tar.xz PGP: https://www.freedesktop.org/software/libinput/libinput-1.18.901.tar.xz.sig
signature.asc
Description: PGP signature