[Git][xorg-team/lib/libinput][debian-unstable] 94 commits: tablet: return the wanted eraser button mode/button from the config
"Timo Aaltonen (@tjaalton)" <[email protected]>
| Newsgroups | gmane.linux.debian.devel.x |
|---|---|
| Message-ID | <[email protected]> |
Timo Aaltonen pushed to branch debian-unstable at X Strike Force / lib / libinput Commits: a6ad0842 by Peter Hutterer at 2025-11-26T10:32:18+10:00 tablet: return the wanted eraser button mode/button from the config This matches our behavior for other settings - always return the user-configured setting from the configuration API, not the current setting (which may be delayed until the device is in a netural state). Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1370> - - - - - 1e8901d0 by Peter Hutterer at 2025-11-26T10:54:47+10:00 tablet: only apply eraser button settings if we have a device If the device is unplugged, our tool's last_device is NULL. If a caller then tries to the toggle the eraser button setting libinput would crash. Fix this by simply skipping the configuration until the tool goes back into proximity over some other device (if any). Closes #1223 Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1370> - - - - - 49d9528b by Peter Hutterer at 2025-11-26T10:55:03+10:00 tablet: after three valid prox out events, unload the forced prox plugin Once we receive three valid proximity out events for the pen, unload the plugin that generates forced proximity in events for tablets that don't send BTN_TOOL_PEN. Closes #1222 Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1370> - - - - - 7e8298e9 by Peter Hutterer at 2025-11-27T09:26:54+10:00 tablet: when destroying a tablet, unlink the tablet tools If a caller holds a ref to a tablet tool when the device is destroyed, the tool didn't get removed from the tablet->tool_list. Later on tool unref the list_remove() would try to reset the pointers but the list head was long since freed, causing an invalid write. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1370> - - - - - 39aea2a8 by Peter Hutterer at 2025-11-27T09:32:13+10:00 test: silence a valgrind warning Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1370> - - - - - 7621edab by Peter Hutterer at 2025-12-01T21:39:11+00:00 include: sync headers with kernel 6.18 Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1359> - - - - - db6a0466 by Peter Hutterer at 2025-12-01T21:39:11+00:00 touchpad: use INPUT_PROP_PRESSUREPAD as signal it's a pressurepad Because, well, it says so on the box now. No more quirks, hopefully! Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1359> - - - - - 4bb6a318 by Peter Hutterer at 2025-12-02T09:20:08+10:00 doc: fix a few miss-hyphenated disable-while-typing comments Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1372> - - - - - 2003ab3a by Peter Hutterer at 2025-12-02T09:20:08+10:00 test: rename a dwt test for better clarity This is the "short-timeout after a single key press" dwt test so let's rename it that way Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1372> - - - - - 20851b50 by Peter Hutterer at 2025-12-02T09:24:15+10:00 touchpad: add configurable timeouts to disable-while-typing Touchpads that don't give us useful palm detection data are getting more common (see e.g. our ABS_MT_TOOL_TYPE quirks). On those touchpads we can only rely on dwt and palm edge detection which means those two must be more spot on than ever before. DWT in particular is more prone to user-specific requirements, the current timeouts have been insufficient for a number of users. So let's make them more configurable. Currently limited to >100ms and <5 seconds to avoid DWT being used in the xkcd workflow style. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1372> - - - - - 38b5c2e0 by Peter Hutterer at 2025-12-02T09:24:15+10:00 touchpad: add configurable timeouts to disable-while-trackpointing Same motivation as in commit "touchpad: add configurable timeouts to disable-while-typing" Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1372> - - - - - d5d38b2e by Peter Hutterer at 2025-12-09T06:07:01+00:00 doc/user: fix two typos in ref anchors Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1374> - - - - - 1b4dbb90 by Peter Hutterer at 2025-12-09T06:07:01+00:00 doc/user: minor update to the forcepad/pressurepad documentation Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1374> - - - - - bde6d07d by Peter Hutterer at 2025-12-09T06:07:01+00:00 quirks: replace ModelPressurepad with setting INPUT_PROP_PRESSUREPAD This is the more generic approach and doesn't require us to have any specific implementation in libinput itself. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1374> - - - - - 02850012 by Peter Hutterer at 2025-12-10T03:07:36+00:00 touchpad: make the dwt/dwtp timeout inclusive min/max This makes it easier in callers that don't really differ between inclusive and exclusive and makes the visualization in UIs a bit nicer to look at too. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1377> - - - - - b3f7b4b1 by Sicelo A. Mhlongo at 2025-12-11T13:28:41+02:00 evdev: add support for SW_KEYPAD_SLIDE A few devices have a keyboard/keypad which can be slid under the device, leaving the device with only touch-based interaction. The corresponding kernel event is reported as SW_KEYPAD_SLIDE [0]. Implement support in libinput. Since the position of the switch varies across devices, it cannot always be certain whether the keypad is usable when the switch is in the set position. Therefore, do not automatically disable the keyboard. [0] https://gitlab.freedesktop.org/libinput/libinput/-/blob/e68d80b13b2c06be60d2afcb65c77fb6a64b5859/include/linux/linux/input-event-codes.h#L885 Closes: #1069 Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1242> - - - - - e8dfc3bf by Peter Hutterer at 2025-12-12T04:15:15+00:00 util: make the newtype comparision functions return bool Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1373> - - - - - c0c809aa by Peter Hutterer at 2025-12-12T04:15:15+00:00 util: fix documentation issues for newtypes Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1373> - - - - - a202ed61 by Peter Hutterer at 2025-12-12T04:15:15+00:00 Use a newtype usec_t for timestamps for better type-safety This avoids mixing up milliseconds and usec, both by failing if we're providing just a number somewhere we expect usecs and also by making the API blindingly obvious that we're in usecs now. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1373> - - - - - 5bd7f93c by Peter Hutterer at 2025-12-12T04:29:13+00:00 doc/user: add a graph of how different contexts work Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1376> - - - - - 2d3e4729 by Peter Hutterer at 2025-12-16T16:54:18+10:00 quirks: add a quirk for the RazerBlade182025 keyboard Generated by tools/razer-quirks-lister.py Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1379> - - - - - 3cf72345 by David Santamaría Rogado at 2025-12-16T16:35:22+01:00 quirks: Add generic Synaptics quirk found in HP ones This quirk is a generic one for all the HP laptops with haptic touchpad so makes more sense here because we are applying it dmi independent being more difficult to track this change if the touchpad became used in other vendors. Signed-off-by: David Santamaría Rogado <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1378> - - - - - 9a077844 by David Santamaría Rogado at 2025-12-16T21:51:53+01:00 quirks: Sort HP entries alphabetically Also remove generic HP Haptics Touchpad CFD2 moved to Synaptics. Signed-off-by: David Santamaría Rogado <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1378> - - - - - a376fe36 by David Santamaría Rogado at 2025-12-16T21:52:31+01:00 quirks: HP 14-fh0xxx rely on bus, ids and type Signed-off-by: David Santamaría Rogado <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1378> - - - - - 0412fb3d by Peter Hutterer at 2025-12-17T14:37:59+10:00 pad: fix missing newline for mode group error messages Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1380> - - - - - 23cd0408 by David Santamaría Rogado at 2025-12-22T00:01:34+01:00 quirks: HP 14-fh0xxx just match internal touchpad Apply ModelTabletModeNoSuspend just for internal touchpad no matter what model is. Signed-off-by: David Santamaría Rogado <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1388> - - - - - 3a54526d by David Santamaría Rogado at 2025-12-22T22:20:18+00:00 quirks: Move Synaptics touchpad to Hanticks Synaptics 0911:5288 Touchpad really is a Hantick one, move it. Also change it to rely on bus and ids because name can vary. Signed-off-by: David Santamaría Rogado <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1381> - - - - - 3cac03c8 by David Santamaría Rogado at 2025-12-22T23:35:05+00:00 quirks: Remove Vaio quirks file The only rule is already defined for the touchpad in it's vendor file. Signed-off-by: David Santamaría Rogado <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1386> - - - - - 8901ddf3 by David Santamaría Rogado at 2025-12-23T15:22:30+01:00 quirks: define generic quirks for ITE Actual quirk in ITE vendor changed for a more generic one. This is a step prior to cleanup other quirks. Signed-off-by: David Santamaría Rogado <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1383> - - - - - a525b303 by David Santamaría Rogado at 2025-12-23T18:27:53+01:00 quirks: add Lenovo touchpad quirk in a generic way Matching in vendor and product covers many models as possible. 01E8 product is always haptic. 01E0 can be or not haptic, leave it outside this and mantain it per system model. When the kernel detects haptic touchpads the ones that cannot be differenciated won't need to have quirk neither. Signed-off-by: David Santamaría Rogado <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1383> - - - - - 56eec4af by David Santamaría Rogado at 2025-12-23T20:03:05+01:00 quirks: add another lenovo haptic touchpad quirk Used at least in another more Lenovo model that the one in the comment where is actually. Signed-off-by: David Santamaría Rogado <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1383> - - - - - 83966ee3 by David Santamaría Rogado at 2025-12-23T21:06:27+01:00 quirks: remove now not needed entries The recently added ITE usb keyboard and pressure touchpad entries makes them unnecessary. Signed-off-by: David Santamaría Rogado <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1383> - - - - - 08a8e0cc by David Santamaría Rogado at 2026-01-02T06:07:28+01:00 quirks: add missing match in synaptic touchpad Signed-off-by: David Santamaría Rogado <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1391> - - - - - 1d4ce847 by Peter Hutterer at 2026-01-05T01:53:41+00:00 test: only use the quirks srcdir if we have a builddir Same approach as we already do for other constants though note the builddir_lookup() hack only works for release builds. Closes #1230 Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1384> - - - - - 6c2b9dcb by Peter Hutterer at 2026-01-05T01:53:41+00:00 meson.build: add a summary for the test options Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1384> - - - - - b48ce4c5 by Peter Hutterer at 2026-01-05T01:53:41+00:00 test: fix --help output for --filter-deviceless Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1384> - - - - - 58228f12 by Peter Hutterer at 2026-01-05T01:53:41+00:00 tools: fix the man page for the libinput-test command The way we run this, the feature is appended to the libinput-test command so this resulted in trying to execute libinput libinput-test-libinput-test-suite. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1384> - - - - - b6041608 by David Santamaría Rogado at 2026-01-05T04:44:41+00:00 quirks: rework tablet mode using chassis type Don't disable inputs for detachable and tablet devices, they are physically unplugged from their input devices but tend to have buttons as internal keyboard in the tablet part that must work always. We know what kind of device is using the Chassis Type DMI value. Also remove specific device quirks now covered by the chassis type. Finally refactor some Lenovo devices using this quirk and redefine Dell 2-in-1 with this quirk using chassis type. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1390> - - - - - 130f95fd by David Santamaría Rogado at 2026-01-06T13:58:57+01:00 quirks: rework minisforum keyboard and add one Use ids for Minisforum V3 and remove dmi match. Also add Minisforum V3 SE one. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1395> - - - - - d5110e1e by David Santamaría Rogado at 2026-01-06T22:41:37+00:00 quirks: acer add detachable keyboards Cover Acer detachable keyboards used in Switch tablet devices to set them internal and allow DWT. Move one of them from chicony using the below method. While at it change the match for internal keyboard in Acer Spin 5 to rely of bus and type and add ':' before svn dmi match. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1392> - - - - - c9e175a5 by Peter Hutterer at 2026-01-09T01:47:12+00:00 test: correct overriding ABS_MISC in litest event frames This still requires LITEST_AUTO_ASSIGN for that value in the test devices (which no device currently sets) but meanwhile: not scaling ABS_MISC into a magic range is the correct thing to do. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1398> - - - - - c8e03121 by Peter Hutterer at 2026-01-09T01:47:13+00:00 test: don't assign -1/-1 to x/y on proximity out This only worked because any all our test devices declare a fixed 0 value for x/y in the proximity out event frame. Since 0 != LITEST_AUTO_ASSIGN we never got to the litest_scale() for x/y which would abort because of the -1 value. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1398> - - - - - ef1ee837 by Peter Hutterer at 2026-01-09T01:47:13+00:00 test: allow overriding any axis value Previously test devices had to set LITEST_AUTO_ASSIGN to be able to override an axis-specific value. But this prevented us from easily overriding other axis values (e.g. tablet tool ids) that usually have the same value. LITEST_AUTO_ASSIGN should indicate a value that must always be auto-assigned, that makes a lot more sense. This does mean we need to handle ABS_MT_TRACKING_ID -1 to avoid that getting overwritten by auto_assign_tablet_value() but oh well. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1398> - - - - - 47c7bd93 by Peter Hutterer at 2026-01-09T02:01:14+00:00 test: fix the multiple-tablet-pressure-range test The previous test was incomplete, add support for setting pressure ranges and generally expand and tighten up the test case so it tests more specficially for the expected events. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1397> - - - - - 82cbbdab by Peter Hutterer at 2026-01-09T02:01:14+00:00 test: add (a broken) test for a second range config This tests for a known bug in the implementation rather than the ideal case how it should work. The config is applied to the tool and on prox out to the current tablet but then the tool goes in prox on a new tablet and the configuration doesn't get applied there. In the test we work around this by injecting an extra proximity event to get the range applied. This needs some rework in the evdev-tablet code but it's questionable whether it makes a difference given the small number of users with multiple tablets and pressure ranges set. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1397> - - - - - 49624ace by Peter Hutterer at 2026-01-09T02:21:13+00:00 tools: use box-drawing characters for the table in touchpad-pressure Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1394> - - - - - 822a6d93 by Peter Hutterer at 2026-01-09T02:21:13+00:00 tools: make the touchpad-pressure thresholds interactive Easier to play around with than having to re-start with different commandline arguments all the time. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1394> - - - - - 02b495e7 by David Santamaría Rogado at 2026-01-09T02:44:11+00:00 quirks: internal integration for lenovo detachable These are quirks needed for Lenovo detachable devices by setting the keyboard as internal to enable DWT and act as if it's a laptop. Here we try to cover all the ideapad ones. Also remove a quirk in Chicony that sets the touchpad below to enable DWT, prefer to set the keyboard as internal as touchpad position is intended for external ones like the input device we also move to the bottom in Lenovo to have all pure input device quirks in one place. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1389> - - - - - 1e9b81f7 by David Santamaría Rogado at 2026-01-09T18:46:40+01:00 quirks: refactor pixart touchpads Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1401> - - - - - 48e367e8 by David Santamaría Rogado at 2026-01-10T10:23:19+00:00 quirks: missing matches Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1402> - - - - - 731d4452 by Peter Hutterer at 2026-01-10T10:39:21+00:00 meson: revamp the debug build detection for the builddir lookup Ifdef out any special behavior we want so we no longer leak this via strings in the resulting binary. Ideally we want the compile to fail for anything missed rather than surprising behavior when we try to access files in the build directory. Closes: #1230 Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1396> - - - - - 9a036bec by David Santamaría Rogado at 2026-01-10T23:33:41+01:00 test: set usb touchpad as internal Actually all usb touchpads are internal by default, reflect this in the acer touchpad definition. This causes that not only the acer keyboard in its group activates DWT but all the intenal keyboards. Remove asserting that other keyboards doesn't affect DWT as that is the intended behaviour. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1400> - - - - - 605abf2f by David Santamaría Rogado at 2026-01-12T03:49:00+01:00 quirks: normalize dmi matches Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1403> - - - - - 0110512b by David Santamaría Rogado at 2026-01-12T03:49:00+01:00 quirks: huawei better use pn instead pvr Huawei MateBook X 2020 used M1010 product version but is used within different Matebook X over the years. Use EUL-WX9 product name instead. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1403> - - - - - 24ac440e by David Santamaría Rogado at 2026-01-13T01:00:19+01:00 quirks: add edit warning where missing Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1405> - - - - - 47312e99 by David Santamaría Rogado at 2026-01-13T01:53:28+01:00 quirks: wipe HP Elite x2 G3 keyboard and touchpad Actually not needed using internal approach. Keyboard is ps2 wired in pogo pins and touchpad is usb, both internal by default so dwt is in effect. If tablet side buttons are also within ps2, they are not going to be disabled as chassis is detachable. Tablet mode switch untouched as is unclear if actual kernels play nice with it. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1406> - - - - - 2772863a by David Santamaría Rogado at 2026-01-13T01:50:51+00:00 quirks: separate logitech quirks Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1407> - - - - - 005a3e56 by Peter Hutterer at 2026-01-13T21:52:52+00:00 test: remove a leftover etrace() Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1408> - - - - - 6b4d1905 by Peter Hutterer at 2026-01-13T21:52:52+00:00 plugin: always disable wheel debouncing on request The WHEEL_STATE_NONE check was effectively always false: - if we didn't receive any event yet, wheel_maybe_disable() wasn't called in any code path - if we did receive a scroll event, the wheel state was either WHEEL_STATE_SCROLLING or WHEEL_STATE_ACCUMULATING_SCROLL Fix this two-pronged: remove the check for WHEEL_STATE_NONE but also immediately call disable when we disable the feature. We don't carry enough state in this plugin to really worry about the device being in a fully neutral state (and realistically the vast majority of use-cases will likely disable wheel debouncing on new device anyway). Closes #1241 Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1408> - - - - - 21ac8568 by Peter Hutterer at 2026-01-13T22:42:07+00:00 CI: temporarily drop FreeBSD 14.2 is 404 so we cannot rebuild any images and, 14.3 has a bug that blocks it from building images: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292375 So let's disable BSD until the bug is fixed. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1409> - - - - - 7d19cb5f by Peter Hutterer at 2026-01-14T09:27:28+10:00 CI: rebuild to pick up newer libwacom on Fedora 43 Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1399> - - - - - dee2d384 by Peter Hutterer at 2026-01-14T16:44:01+10:00 Add libinput_tablet_tool_get_name() for the tool's specific name If the tool has a name let's provide that to the caller. We have it easily accessible so let's export it to make everyone's life easier. The name is provided by libwacom, there is no need for us to even copy that value since we don't need it ourselves. Note that at this point effectively only (some) Wacom devices have meaningful names. Virtually all non-wacom devices will use a generic tool and even the built-in Wacoms will largely just say "AES Pen". Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1399> - - - - - bee28a7e by Peter Hutterer at 2026-01-20T11:49:58+10:00 test: remove a leftover etrace() Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1413> - - - - - 13405e4b by Peter Hutterer at 2026-01-20T11:49:58+10:00 test: add missing BTN_TOOL_QUINTTAP to the acer hawaii test device This recording comes from https://bugs.freedesktop.org/show_bug.cgi?id=99140 and it's set there so this si presumably a copy/paste issue. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1413> - - - - - 00e568f4 by Peter Hutterer at 2026-01-20T13:14:24+10:00 test: correct a copy/pasted comment Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1413> - - - - - 6bca2726 by Peter Hutterer at 2026-01-20T14:59:02+10:00 test: parametrize a gesture test Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1413> - - - - - 7ff2326e by Peter Hutterer at 2026-01-20T14:59:02+10:00 test: change the gesture state color to normal yellow The current color is unreadable on my screens and since no-one else really looks at this much, let's change it for my benefit. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1413> - - - - - 328b9a8a by Peter Hutterer at 2026-01-20T14:59:02+10:00 test: fix the gesture hold cancel test This didn't actually check for the cancellation of the gesture, so let's add that. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1413> - - - - - 9f096b04 by Peter Hutterer at 2026-01-20T14:59:02+10:00 test: move two helper functions into the only caller Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1413> - - - - - 074a6f57 by Peter Hutterer at 2026-01-20T14:59:02+10:00 test: fix some comments for accuracy Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1413> - - - - - 8854066e by Jens Peters at 2026-01-21T08:44:13+00:00 plugin: add an example for controlling a mouse with a tablet This plugin controls a mouse/pointer from a tablet device. This effectively hides stylus interactions and sends pointer events instead. In other words: mouse emulation for tablets, implemented by (remote) controlling a mouse device. This allows using a tablet stylus as a mouse replacement without tablet limitations from compositors or clients. Note that axis usually needed for drawing (like pressure, tilt or distance) are no longer emitted when this plugin is active and a mouse is connected. When no mouse is connected, this plugin doesn't change tablet events, thus the stylus works like a normal stylus. Follow up from https://gitlab.freedesktop.org/libinput/libinput/-/issues/1195 Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1412> - - - - - cc1499fb by Helga K at 2026-01-22T15:59:42+04:00 quirks: Add quirk for Gigabyte Aorus 15BKF keyboard This keyboard sits on the USB bus, so it's considered an external keyboard by default. This commit changes that to internal so that DWT detection on the laptop touchpad works. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1411> - - - - - 86f19a09 by Peter Hutterer at 2026-01-27T00:02:15+00:00 lua: install a timeout hook before any pcalls to prevent infinite loops If a lua pcall takes longer than one second, kill the plugin. How often to call the timeout handler is a trade-off but we err on the side of "possibly too high" since the overwhelmingly vast majority of plugins will never trigger it anyway. Gemini suggests that Lua 5.4 can do ~500k ops per second for string concat (the slowest listed), Claude suggests 1 to 10 million ops per second. The test in this patch on my 4y old cheap desktop runs the timeout hook roughly every 37ms. Any normal plugin will be well and truly done with its work by then. Closes: #1245 Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1416> - - - - - 307d2509 by David Santamaría Rogado at 2026-01-27T00:19:16+00:00 quirks: merge ibm with lenovo ScrollPoint mouses as well IBM USB Travel Keyboard with Ultra Nav Mouse are owned by Lenovo. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1419> - - - - - 47482bcd by David Santamaría Rogado at 2026-01-27T00:43:51+00:00 quirks: add more specific matches to actual quirks Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1418> - - - - - e161abdc by Peter Hutterer at 2026-01-28T00:43:36+00:00 evdev: rename evdev_paired_keyboard to evdev_paired_device We'll be using this struct for other devices than keyboards. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1414> - - - - - 89351c71 by Peter Hutterer at 2026-01-28T00:43:37+00:00 test: parametrize the external mouse test Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1414> - - - - - 33b1d87c by Peter Hutterer at 2026-01-28T00:43:37+00:00 touchpad: don't disable on external mice until we see an event Instead of disabling the touchpad as soon as a mouse is seen by libinput, disable it as soon as a mouse sends an actual event. This works around the current issues with many devices (touchpads and keyboards alike) announcing a HID Mouse Application Collection which gets its own event node in the kernel. That event node usually just sits there and does nothing but its mere presence disabled the touchpad. Let's change this and instead only disable once we see an event. Closes: #1104 Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1414> - - - - - 5b7b8f1b by Peter Hutterer at 2026-02-02T06:44:48+00:00 gestures: remove two empty helper functions Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1410> - - - - - fe1d4463 by Peter Hutterer at 2026-02-02T06:44:48+00:00 touchpad: add support for fast swipe when 3fg drag is enabled This adds a movement threshold (5mm) and a timeout (80ms) to the 3fg drag gesture. On 3fg down with 3fg drag enabled we immediately send a GESTURE_SWIPE event. After the timeout expires we check the movement of the fingers - if it is below the threshold cancel the swipe and hold a button down (i.e. a 3fg drag). Otherwise, continue with this being a swipe. This allows for swipe gestures to be used while 3fg drag is enabled. Above applies the same way for 4fg with 4fg drag enabled. Thresholds selected using the "yeah, that seems about alright" method, intentionally quite low because we assume that users that enable 3fg drag prefer 3fg dragging over swipe. Signed-off-by: Peter Hutterer <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1410> - - - - - b58d5a16 by Michał Chojnowski at 2026-02-02T08:41:24+01:00 tablet: fix handling of AttrPressureRange quirk tablet_get_quirked_pressure_thresholds() is wrong: the pressure thresholds for tip press and tip release are swapped around. This seems to be a regression introduced in commit 4bc27543e907. This prevents AttrPressureRange from working as intended for tablets, and causes weird things to happen if it's set. (For example, when pressure is in the range between the intended release threshold and the intended press threshold, the "pressed" status flip-flops between 0 and 1 every frame). Fix that. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1420> - - - - - 6f797973 by David Santamaría Rogado at 2026-02-02T09:52:08+00:00 test: recover external usb keyboard touchpad combo This recovers the testing that a USB keyboard plus touchpad combo both set as external, only its own keyboard should affect to DWT that was removed when Acer Hawaii combo was set as internal. This is uncommon as usb touchpads nowadays are set as internal, but, perhaps someone that adds a quirk for a really external combo also adds in udev's hwdb the external integration for the touchpad, or perhaps we should set the integration to external when AttrTPKComboLayout=below is used for the touchpad. The issue is if the touchpad is leave as internal every keyboard affect DWT, not only the one that belongs to its combo. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1415> - - - - - 6d514ee6 by Peter Hutterer at 2026-02-03T13:01:59+10:00 touchpad: add get_default_timeout for dwt and dwtp I doubt this is really needed but our convention for all config options is set/get/get_default so let's stick with that. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1421> - - - - - ad89a83a by Peter Hutterer at 2026-02-03T23:27:14+00:00 tablet: ignore the tablet tool name if it's a generic tool libwacom has generic pens that are used for devices that don't have tool ids. Let's ignore the names for those pens since they're just made up names anyway. Signed-off-by: Peter Hutterer <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1422> - - - - - e78f4f68 by Peter Hutterer at 2026-02-04T11:18:54+10:00 util: add guards for the etrace/trace defines This file is really useful on its own for other projects if auto-included via export CFLAGS="$CFLAGS -include /path/to/file.h" However, that causes compiler warnings, let's add indef checks for this as a quick workaround. Since these three come as a set and are only used for debugging, we can ifndef them all in one go rather than individually. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1423> - - - - - e0ba5591 by Peter Hutterer at 2026-02-04T12:41:58+10:00 libinput 1.30.901 Signed-off-by: Peter Hutterer <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1424> - - - - - df8f5a36 by Richie Roy Jayme at 2026-02-07T08:27:58+00:00 quirks: add quirk support for Goodix touchpad This commit adds a specific vendor HWID for Goodix Haptic Touchpad to improve detection and handling. Signed-off-by: Richie Roy Jayme <[email protected]> Signed-off-by: Richie Roy Jayme <[email protected]> Reviewed-by: Vishnu Sankar <[email protected]> Reviewed-by: Vishnu Sankar <[email protected]> Reported-by: Ameer Ivan Julkarnain <[email protected]> Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1426> - - - - - b9fc550f by Lorenzo Ianotto at 2026-02-09T02:42:33+00:00 Set ModelTabletModeNoSuspend only for Thinkpad S1 Yoga and X1 Yoga 1st gen Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1425> - - - - - 65996748 by Peter Hutterer at 2026-02-13T09:25:46+10:00 libinput 1.31.0 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 2d491b62 by Timo Aaltonen at 2026-02-18T11:47:22+02:00 Merge tag '1.30.1' into d-u 1.30.1 - - - - - cd1a7c3b by Timo Aaltonen at 2026-02-18T11:47:27+02:00 Merge branch 'debian-unstable' into d-u - - - - - be18132f by Timo Aaltonen at 2026-02-18T11:48:26+02:00 version bump - - - - - 163a06a3 by Timo Aaltonen at 2026-02-18T11:55:27+02:00 symbols: Updated. - - - - - c264d27b by Timo Aaltonen at 2026-02-18T14:26:28+02:00 releasing package libinput version 1.31.0-1 - - - - - 136 changed files: - .gitlab-ci.yml - .gitlab-ci/config.yml - debian/changelog - debian/libinput10.symbols - doc/user/clickpad-with-right-button.rst - doc/user/device-quirks.rst - + doc/user/dot/libinput-contexts.gv - doc/user/faqs.rst - doc/user/meson.build - doc/user/touchpad-pressure-debugging.rst - doc/user/touchpads.rst - doc/user/trackpoint-configuration.rst - meson.build - + plugins/10-tablet-mouse-control.lua - plugins/meson.build - quirks/10-generic-keyboard.quirks - quirks/30-vendor-a4tech.quirks - quirks/30-vendor-contour.quirks - quirks/30-vendor-cypress.quirks - quirks/30-vendor-glorious.quirks - + quirks/30-vendor-goodix.quirks - + quirks/30-vendor-hantick.quirks - quirks/30-vendor-huion.quirks - − quirks/30-vendor-ibm.quirks - quirks/30-vendor-ite.quirks - quirks/30-vendor-kensington.quirks - quirks/30-vendor-logitech.quirks - quirks/30-vendor-microsoft.quirks - quirks/30-vendor-nulea.quirks - quirks/30-vendor-oracle.quirks - + quirks/30-vendor-pixart.quirks - quirks/30-vendor-qemu.quirks - quirks/30-vendor-razer.quirks - quirks/30-vendor-synaptics.quirks - quirks/30-vendor-trust.quirks - − quirks/30-vendor-uniwill.quirks - quirks/50-system-acer.quirks - quirks/50-system-asus.quirks - − quirks/50-system-chicony.quirks - − quirks/50-system-chuwi.quirks - quirks/50-system-dell.quirks - quirks/50-system-framework.quirks - quirks/50-system-gigabyte.quirks - quirks/50-system-gpd.quirks - quirks/50-system-graviton.quirks - quirks/50-system-honor.quirks - quirks/50-system-hp.quirks - quirks/50-system-huawei.quirks - quirks/50-system-icl.quirks - quirks/50-system-lenovo.quirks - quirks/50-system-lg.quirks - quirks/50-system-minisforum.quirks - quirks/50-system-pine64.quirks - quirks/50-system-sony.quirks - quirks/50-system-starlabs.quirks - quirks/50-system-system76.quirks - − quirks/50-system-tongfang.quirks - quirks/50-system-toshiba.quirks - − quirks/50-system-vaio.quirks - src/builddir.h - src/evdev-fallback.c - src/evdev-fallback.h - src/evdev-frame.h - src/evdev-middle-button.c - src/evdev-mt-touchpad-buttons.c - src/evdev-mt-touchpad-edge-scroll.c - src/evdev-mt-touchpad-gestures.c - src/evdev-mt-touchpad-tap.c - src/evdev-mt-touchpad-thumb.c - src/evdev-mt-touchpad.c - src/evdev-mt-touchpad.h - src/evdev-plugin.c - src/evdev-tablet-pad.c - src/evdev-tablet.c - src/evdev-totem.c - src/evdev.c - src/evdev.h - src/filter-custom.c - src/filter-flat.c - src/filter-low-dpi.c - src/filter-mouse.c - src/filter-private.h - src/filter-tablet.c - src/filter-touchpad-flat.c - src/filter-touchpad-x230.c - src/filter-touchpad.c - src/filter-trackpoint-flat.c - src/filter-trackpoint.c - src/filter.c - src/filter.h - src/libinput-plugin-button-debounce.c - src/libinput-plugin-lua.c - src/libinput-plugin-mouse-wheel.c - src/libinput-plugin-mtdev.c - src/libinput-plugin-tablet-eraser-button.c - src/libinput-plugin-tablet-proximity-timer.c - src/libinput-plugin.c - src/libinput-plugin.h - src/libinput-private.h - src/libinput-util.h - src/libinput.c - src/libinput.h - src/libinput.sym - src/quirks.c - src/quirks.h - src/timer.c - src/timer.h - src/util-input-event.h - src/util-libinput.c - src/util-newtype.h - src/util-prop-parsers.c - src/util-ratelimit.c - src/util-ratelimit.h - src/util-time.h - test/litest-device-acer-hawaii-touchpad.c - + test/litest-device-generic-usb-keyboard.c - + test/litest-device-generic-usb-touchpad.c - + test/litest-device-keypad-slide-switch.c - test/litest-runner.c - test/litest.c - test/litest.h - test/test-builddir-lookup.c - test/test-gestures.c - test/test-misc.c - test/test-plugins-lua.c - test/test-switch.c - test/test-tablet.c - test/test-touchpad-tap.c - test/test-touchpad.c - test/test-trackpoint.c - test/test-utils.c - tools/libinput-debug-tablet.c - tools/libinput-measure-touchpad-pressure.py - tools/libinput-record.c - tools/libinput-test.man - tools/ptraccel-debug.c The diff was not included because it is too large. View it on GitLab: https://salsa.debian.org/xorg-team/lib/libinput/-/compare/7d377f41ac6e9efc2e2ac88b809dc2e4b0418c09...c264d27be4ecd2c69555a96da6236bf7e5900548 -- View it on GitLab: https://salsa.debian.org/xorg-team/lib/libinput/-/compare/7d377f41ac6e9efc2e2ac88b809dc2e4b0418c09...c264d27be4ecd2c69555a96da6236bf7e5900548 You're receiving this email because of your account on salsa.debian.org.