libinput 1.31-rc1 is now available.
The disable-while-typing and disable-while-trackpointing timeouts are now
configurable (within reasonable limits). These timeouts specify how long the
touchpad or trackpoint should be inactive after key presses. Note that libinput
internally uses multiple timeouts depending on the original event, configurable
is only the "long" timeout after a key press + release which should be good
enough for the vast majority of use-cases.
Also related to touchpads: we now support fast 3fg swipes when 3fg drag is
enabled. Previously, enabling 3fg drag meant 3fg swipe was no longer available
since the finger movement for both is physically identical. However, swipe
gestures are tightly integrated into some desktops so we now support a "fast
swipe": three fingers that move quickly and immediatley trigger a swipe, not a
3fg drag. The timeout is intentionally quite short, the drag is still the
primary feature. The above applies to 4fg swipe/drag if enabled.
A new API to get a tablet tool's (marketing) name is now available:
libinput_tablet_tool_get_name(). This name comes straight from libwacom
and is merely a convenience function to remove an otherwise unnecessary
libwacom (code-)dependency from clients. Note that only few pens (effectively
only tools compatible with the Wacom Intuos Pro and Cintiq devices) have names,
all other tools return a big fat NULL.
A feature has already been available in libinput 1.30.1:
libinput now handles the INPUT_PROP_PRESSUREPAD property available in
kernel 6.18. A touchpad that has that property set will be assumed to be a
pressure pad (and as of kernel 6.19 this property should be set automatically on
applicable devices, removing the need for shipping quirks for each model).
SW_KEYPAD_SLIDE is now supported and has a similiar functionality as the
existing SW_TABLET_MODE which we've had for ages.
And finally, we had a large rework and re-organization of the quirks which
reduced duplication and expanded some matches to be less (sometimes more)
specific to individual models.
Many thanks to David Santamaría Rogado, Helga K, Jens Peters, Michał
Chojnowski and Sicelo A. Mhlongo
As usual, the git shortlog is below.
David Santamaría Rogado (26):
quirks: Add generic Synaptics quirk found in HP ones
quirks: Sort HP entries alphabetically
quirks: HP 14-fh0xxx rely on bus, ids and type
quirks: HP 14-fh0xxx just match internal touchpad
quirks: Move Synaptics touchpad to Hanticks
quirks: Remove Vaio quirks file
quirks: define generic quirks for ITE
quirks: add Lenovo touchpad quirk in a generic way
quirks: add another lenovo haptic touchpad quirk
quirks: remove now not needed entries
quirks: add missing match in synaptic touchpad
quirks: rework tablet mode using chassis type
quirks: rework minisforum keyboard and add one
quirks: acer add detachable keyboards
quirks: internal integration for lenovo detachable
quirks: refactor pixart touchpads
quirks: missing matches
test: set usb touchpad as internal
quirks: normalize dmi matches
quirks: huawei better use pn instead pvr
quirks: add edit warning where missing
quirks: wipe HP Elite x2 G3 keyboard and touchpad
quirks: separate logitech quirks
quirks: merge ibm with lenovo
quirks: add more specific matches to actual quirks
test: recover external usb keyboard touchpad combo
Helga K (1):
quirks: Add quirk for Gigabyte Aorus 15BKF keyboard
Jens Peters (1):
plugin: add an example for controlling a mouse with a tablet
Michał Chojnowski (1):
tablet: fix handling of AttrPressureRange quirk
Peter Hutterer (56):
tablet: return the wanted eraser button mode/button from the config
tablet: only apply eraser button settings if we have a device
tablet: after three valid prox out events, unload the forced prox plugin
tablet: when destroying a tablet, unlink the tablet tools
test: silence a valgrind warning
include: sync headers with kernel 6.18
touchpad: use INPUT_PROP_PRESSUREPAD as signal it's a pressurepad
doc: fix a few miss-hyphenated disable-while-typing comments
test: rename a dwt test for better clarity
touchpad: add configurable timeouts to disable-while-typing
touchpad: add configurable timeouts to disable-while-trackpointing
doc/user: fix two typos in ref anchors
doc/user: minor update to the forcepad/pressurepad documentation
quirks: replace ModelPressurepad with setting INPUT_PROP_PRESSUREPAD
touchpad: make the dwt/dwtp timeout inclusive min/max
util: make the newtype comparision functions return bool
util: fix documentation issues for newtypes
Use a newtype usec_t for timestamps for better type-safety
doc/user: add a graph of how different contexts work
quirks: add a quirk for the RazerBlade182025 keyboard
pad: fix missing newline for mode group error messages
test: only use the quirks srcdir if we have a builddir
meson.build: add a summary for the test options
test: fix --help output for --filter-deviceless
tools: fix the man page for the libinput-test command
test: correct overriding ABS_MISC in litest event frames
test: don't assign -1/-1 to x/y on proximity out
test: allow overriding any axis value
test: fix the multiple-tablet-pressure-range test
test: add (a broken) test for a second range config
tools: use box-drawing characters for the table in touchpad-pressure
tools: make the touchpad-pressure thresholds interactive
meson: revamp the debug build detection for the builddir lookup
test: remove a leftover etrace()
plugin: always disable wheel debouncing on request
CI: temporarily drop FreeBSD
CI: rebuild to pick up newer libwacom on Fedora 43
Add libinput_tablet_tool_get_name() for the tool's specific name
test: remove a leftover etrace()
test: add missing BTN_TOOL_QUINTTAP to the acer hawaii test device
test: correct a copy/pasted comment
test: parametrize a gesture test
test: change the gesture state color to normal yellow
test: fix the gesture hold cancel test
test: move two helper functions into the only caller
test: fix some comments for accuracy
lua: install a timeout hook before any pcalls to prevent infinite loops
evdev: rename evdev_paired_keyboard to evdev_paired_device
test: parametrize the external mouse test
touchpad: don't disable on external mice until we see an event
gestures: remove two empty helper functions
touchpad: add support for fast swipe when 3fg drag is enabled
touchpad: add get_default_timeout for dwt and dwtp
tablet: ignore the tablet tool name if it's a generic tool
util: add guards for the etrace/trace defines
libinput 1.30.901
Sicelo A. Mhlongo (1):
evdev: add support for SW_KEYPAD_SLIDE