[ANNOUNCE] libinput 1.27.0

Peter Hutterer peter.hutterer at who-t.net
Tue Nov 19 04:39:37 UTC 2024


libinput 1.27.0 is now available.

In terms of new features we have a "sticky" mode for drag-locking. Previously a
tap-and-drag lock would always expire after a timeout, now the button is held
logically down until a completing tap. Desktop environments are encouraged to
use this as the default as it provides a better experience for anyone with
less-than-perfect dexterity. For backwards-compatibility reasons libinput cannot
easily change its defaults without risking bugs in the callers.

For tablet pads we now support tablet pad mode groups for devices without
status LEDs as well, the previous implementation was tied to LEDs which some
devices like the XP Pen ACK05 remote don't have. Since the mode is a software
feature anyway tying it to LEDs is not necessary.

If a tablet is unknown to libwacom we now assume that it is a built-in tablet.
This matches the behavior of libwacom 2.11 but in our case the only visible
result is that the device now has the calibration configuration available.
Better to have it and not use it, as they say.

The available area on external tablets can be reduced via the new tablet "area"
configuration. Users can set a rectangle smaller than the width/height
of the tablet and input outside this rectangle will be ignored.

For packagers: the check dependency is now optional, almost all tests
can now run without it.

And then we have of course the usual collection of bug fixes and
device-specific quirks.

As usual, the git shortlog is below.

Ajrat Makhmutov (2):
      quirks: touchpad quirk for Graviton N15i
      quirks: touchpad quirk for ICL Si1516/Si1512

Daniel Fuchs (1):
      quirks: adjust pressure range for Google Krane, Wormdingler and Coachz

José Expósito (3):
      Fix pre-commit errors
      CI: Run pre-commit hooks
      editorconfig: add settings for sym files

Mingcong Bai (2):
      quirks: add pressure pad quirk for Lenovo ThinkBook 14 G7+ ASP
      quirks: lower AttrTrackpointMultiplier for ThinkPad X200/201 to 0.25

Muhammad Talal Anwar (1):
      quirks: add Logitech ERGO M575(S)

Peter Hutterer (147):
      triage-policies: add an entry for pointing users to 60-evdev.hwdb
      quirks: add quirk for Razer Blade 142024 Keyboard
      util: add a strv_for_each helper function
      quirks: allow for parsing multiple products
      doc/api: fix wrong references to the tap drag config
      tools/debug-events: ignore old-style pointer axis events completely
      tools/debug-events: add ability to compress motion events
      CI: retry valgrind jobs if they fail
      triage-policies: point to the new hid-recorder written in rust
      gestures: cancel the hold before initializing the pinch
      tools/debug-events: move the event type str to a helper function
      triage-policies: add a blurb for the help-needed label
      triage-policies: add reminder for info in commit messages
      test: make litest_drain_events_of_type auto-terminating
      test: make litest_wait_for_event_of_type auto-terminating
      gestures: use a colon-suffixed debug prefix like the other state machines
      test: highlight the gesture state machine log messages in yellow
      test: improve event debugging a bit
      test: abort on libinput bugs again
      test: add litest_dispatch() for better test debugging
      test: use litest_assert_empty_queue instead of a manual none check
      test: fix use of wrong enum for setting clickfinger maps
      test: use litest_wait_for_event instead of a NONE event check
      test: use litest_assert_event_type instead of direct type check
      test: fix macro grouping in the litest.h header
      tools: add --set-calibration to the debug-events man page
      util: add a safe version of strlen
      Fix a few potential NULL dereferences
      CI: skip the valgrind tests for marge-bot
      gestures: log the finger count together with the gesture state
      gestures: make a error message more informative
      gestures: rename tp_gesture_handle_state and tp_gesture_post_gesture
      gestures: replace switch-timeout based gesture_cancel calls with a state
      gestures: distinguish between a gesture reset and a gesture end/cancel
      gestures: log a bug if we're trying to reset an actual gesture
      gestures: push tp_gesture_end() into the actual state machine
      gestures: push tp_gesture_start() for hold gestures into the state handling
      gestures: rename most events to FOO_START
      gestures: rename gesture_notify_hold to gesture_notify_hold_begin()
      gestures: get rid of tp_gestures_start
      gestures: add debugging for state transitions
      gestures: change a boolean to an enum for more expressive code
      test: switch unused argc/argv to the list of tests
      test: move the test devices into the test_device_section
      test: make litest-test-suite --list YAML-compatible
      test: fix uinput creation for the slotted devices with too many slots
      test: add a missing va_end
      test: fix a data type in the utils test
      test: fix double parsing test
      test: fix missing END_TEST for strv_for_each_test
      test: replace ck_abort with litest_abort_msg()
      test: add litest_assert_event_type_not_one_of
      test: initialize a variable to make scan-build happy
      test: add a macro to compare two doubles with a specific epsilon
      test: fix a touch test comparing ints to doubles
      test: fix some checks using ints to compare doubles
      test: replace manual "almost equal" with the new double epsilon
      test: add litest string comparison macros
      test: switch ck_assert over to litest_assert
      test: switch a bunch of integer comparisons to right sizes
      test: add macros to compare enum values
      test: switch the tests to use enum comparisons
      doc: correct that the test suite is indeed run in the CI
      test: fix litest_abort_msg() not starting a new line
      test: switch a bunch of tests from abort() to one with a message
      test: add a helper for deleting a created file
      test: init the device list via argument
      test: add restore_tty helper and use it
      test: init the global devices/test lists immediately
      test: check for empty tests immediately, not later when we're running
      test: check for verbosity immediately in main()
      test: rename all_tests to all_test_suites
      test: rename a variable to indicate suites, not tests
      test: use a litest helper instead of return code comparison
      CI: set the LITEST_JOBS in the template, not the script
      tablet: fix a memory leak caused by an early return
      test: match the tablet's pad test collection with the file name
      test: detach the suite handling from the file names
      test: make the TEST_COLLECTION() macro re-usable in the same file
      meson: break out the test suites into manual list
      test: split out the touchpad tap tests into multiple collections
      CI: move the "device" test suite to the "misc" set of suites
      test: split the tablet left-handed tests out into a separate collection
      test: split the touchpad tests into a palm and a dwt test collection
      tools: add rel dial support to libinput-list-devices
      tools: print full pad mode group info in libinput-list-devices
      pad: don't print a clobbered errno
      pad: move a function to save on an ifdef
      pad: default a pad group to mode 0 if all LEDs are off
      util: add the backtrace printing function as separate util
      util: make a float to int conversion explicit
      tools: change direct type check to isinstance
      pre-commit: drop black, use ruff-format instead
      util: add xclose(fd) to close-and-reset an fd
      util: move libinput_now() into a utility function
      util: add a bunch more time conversions
      test: append, not insert the suites
      test: make litest_backtrace() available from outside litest.c
      test: filter out duplicate name/device combos in --list
      test: move the deviceless check into ltest_add_tcase
      util: add the range handling as separate header file
      util: add a generic stringbuffer with a few helper functions
      test: make the utils test another litest
      test: convert utils test to litest_assert
      test: fix utils test for types for litest assertions
      test: add litest-runner as test suite runner
      test: move the quirks context init into litest_run
      test: remove now-unused check-double-macros.h
      test: add --exit-first to the litest test suite runner
      test: make the utils test a "pure" litest-runner test
      test: move litest_free_test_list to inside ifndef NO_MAIN
      test: intercept and collect valgrind errors
      test: only force gdb to no-fork, valgrind can fork
      test: move tty disabling closer to the actual running of the tests
      test: move the rest of the custom initialization to litest_run
      test: the created files list doesn't need to be a global
      test: add runner support for a global setup/teardown func
      test: move the quirks setup into the global setup func
      test: add ability to collect test results from a nonforking test
      test: add --filter-rangeval to only run tests with a range value
      CI: disable forking for valgrind tests
      test: drop the --xml-prefix option
      test: add --output-file to print test logs to a file
      CI: collect valgrind log files too
      test: fix strip values being passed to ring functions
      test: fix 3 compiler warnings when building without libwacom
      test: mark the pad group tests as basically broken by expectation
      pad: rename an argument for more clarity
      pad: remove an unused argument
      pad: don't clobber the errno if the pad led failed to initialize
      pad: rework the tablet pad mode setup
      pad: support dial modeswitch buttons
      tablet: minor rework to remove one ifdef HAVE_LIBWACOM
      tablet: centralize the libwacom handling
      test: fix two race conditions waiting for proximity events
      tablet: default to a built-in tablet
      tools: sort the options in debug-events match page
      tools/debug-events: print bugs in bold red
      Move scale_axis to a utility header so we can re-use it better
      Move evdev_convert_to_mm to a more generic helper
      tablet: use our absinfo_x/y struct instead of the libevdev one
      Add tablet area configuration
      tablet: implement support for area configuration for external tablets
      tablet: ignore movements started outside the configured area
      zsh: sort the debug-events argument (mostly) alphabetically
      zsh: update completion to include latest debug-events options
      libinput 1.27.0

Tim Hanson (1):
      Update quirks for HP Dragonfly Chromebook

WeirdTreeThing (1):
      quirks: Add quirk for Google Chromebook Cret

Wentao Guan (1):
      quirks: add a quirk for the HONOR MagicBook Art 14 touchpad

satrmb (1):
      touchpad: add sticky mode to drag-lock
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20241119/b4e44406/attachment.sig>


More information about the wayland-devel mailing list