[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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.