libinput/src
Peter Hutterer 9baccdf44c touchpad: support automatic drag-lock when releasing at the edge
If drag-lock is disabled but we're in a tap-and-drag state and the
finger is released near the edge (within 5mm), enable automatic drag
lock for 400ms.  This allows a user to quickly reset the finger and
continue with the drag.

The 400ms is a randomly guessed timeout - if you're using tap-and-drag
without draglock, finger dexterity should be high enough that resetting
the single finger can be done quickly but it's also short enough to not
make the occasional delayed button be painful in day-to-day use.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1447>
2026-03-24 05:50:24 +00:00
..
builddir.h meson: revamp the debug build detection for the builddir lookup 2026-01-10 10:39:21 +00:00
evdev-fallback.c evdev: rename evdev_paired_keyboard to evdev_paired_device 2026-01-28 00:43:36 +00:00
evdev-fallback.h Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
evdev-frame.h evdev: store the SYN_REPORT value in the frame 2026-03-19 00:09:30 +00:00
evdev-middle-button.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
evdev-mt-touchpad-buttons.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
evdev-mt-touchpad-edge-scroll.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
evdev-mt-touchpad-gestures.c touchpad: add support for fast swipe when 3fg drag is enabled 2026-02-02 06:44:48 +00:00
evdev-mt-touchpad-tap.c touchpad: support automatic drag-lock when releasing at the edge 2026-03-24 05:50:24 +00:00
evdev-mt-touchpad-thumb.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
evdev-mt-touchpad.c Fix various typos 2026-03-24 05:09:07 +00:00
evdev-mt-touchpad.h touchpad: support automatic drag-lock when releasing at the edge 2026-03-24 05:50:24 +00:00
evdev-plugin.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
evdev-plugin.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
evdev-tablet-pad-leds.c meson.build: change from config.set10() and #if to config.set() and #ifdef 2025-07-28 12:04:09 +10:00
evdev-tablet-pad.c pad: fix missing newline for mode group error messages 2025-12-17 14:37:59 +10:00
evdev-tablet-pad.h pad: don't assert when unable to find the mode group, just discard 2025-08-04 12:53:10 +10:00
evdev-tablet.c Fix various typos 2026-03-24 05:09:07 +00:00
evdev-tablet.h meson.build: change from config.set10() and #if to config.set() and #ifdef 2025-07-28 12:04:09 +10:00
evdev-totem.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
evdev.c evdev: fix rel axis disabling on accelerometers 2026-03-24 05:24:35 +00:00
evdev.h touchpad: don't disable on external mice until we see an event 2026-01-28 00:43:37 +00:00
filter-custom.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
filter-flat.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
filter-low-dpi.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
filter-mouse.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
filter-private.h Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
filter-tablet.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
filter-touchpad-flat.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
filter-touchpad-x230.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
filter-touchpad.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
filter-trackpoint-flat.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
filter-trackpoint.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
filter.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
filter.h Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
libinput-feature.h touchpad: allow disabling palm detection altogether 2025-08-07 10:23:30 +10:00
libinput-git-version.h.in tools: add the git version in the libinput-record output 2018-03-06 14:22:30 +10:00
libinput-log.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
libinput-plugin-button-debounce.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
libinput-plugin-button-debounce.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
libinput-plugin-lua.c lua: install a timeout hook before any pcalls to prevent infinite loops 2026-01-27 00:02:15 +00:00
libinput-plugin-lua.h plugins: add support for lua plugins to change evdev event streams 2025-08-01 16:04:09 +10:00
libinput-plugin-mouse-wheel-lowres.c plugin: register plugins for the plugin-specific usages 2025-08-01 14:29:44 +10:00
libinput-plugin-mouse-wheel-lowres.h plugins: add a plugin to emulate high-resolution wheel events 2025-07-14 11:14:15 +10:00
libinput-plugin-mouse-wheel.c plugin: always disable wheel debouncing on request 2026-01-13 21:52:52 +00:00
libinput-plugin-mouse-wheel.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
libinput-plugin-mtdev.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
libinput-plugin-mtdev.h Move mtdev into a plugin 2025-07-02 06:53:05 +00:00
libinput-plugin-private.h plugin: remove a leftover function 2025-07-15 10:51:42 +10:00
libinput-plugin-system.h plugins: add meson option to autoload plugins 2025-10-31 05:25:29 +00:00
libinput-plugin-tablet-double-tool.c plugin: remove the event frame callbacks when disabling a plugin 2025-08-19 15:22:49 +10:00
libinput-plugin-tablet-double-tool.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
libinput-plugin-tablet-eraser-button.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
libinput-plugin-tablet-eraser-button.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
libinput-plugin-tablet-forced-tool.c tablet: after three valid prox out events, unload the forced prox plugin 2025-11-26 10:55:03 +10:00
libinput-plugin-tablet-forced-tool.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
libinput-plugin-tablet-proximity-timer.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
libinput-plugin-tablet-proximity-timer.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
libinput-plugin.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
libinput-plugin.h Fix various typos 2026-03-24 05:09:07 +00:00
libinput-private-config.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
libinput-private-config.h gesutures: allow to configure hold gestures 2021-06-09 01:18:58 +00:00
libinput-private.h touchpad: add get_default_timeout for dwt and dwtp 2026-02-03 13:01:59 +10:00
libinput-restore-selinux-context.sh meson: Fix absolute libdir case in install script 2018-02-16 16:57:30 +10:00
libinput-util.h util: add guards for the etrace/trace defines 2026-02-04 11:18:54 +10:00
libinput-version.h.in COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00
libinput-versionsort.h Fix clang-tidy false positives 2025-11-06 23:31:27 +00:00
libinput.c tablet: fix eraser button get_default_mode/get_default_button return values 2026-03-17 00:46:45 +00:00
libinput.h Fix various typos 2026-03-24 05:09:07 +00:00
libinput.sym touchpad: add get_default_timeout for dwt and dwtp 2026-02-03 13:01:59 +10:00
path-seat.c plugins: add meson option to autoload plugins 2025-10-31 05:25:29 +00:00
quirks.c doc: list-quirks should be quirks list 2026-02-20 19:56:46 +01:00
quirks.h quirks: replace ModelPressurepad with setting INPUT_PROP_PRESSUREPAD 2025-12-09 06:07:01 +00:00
timer.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
timer.h Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
udev-seat.c plugins: add meson option to autoload plugins 2025-10-31 05:25:29 +00:00
udev-seat.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
util-backtrace.h meson.build: change from config.set10() and #if to config.set() and #ifdef 2025-07-28 12:04:09 +10:00
util-bits.h Fix various typos 2026-03-24 05:09:07 +00:00
util-files.c Fix various typos 2026-03-24 05:09:07 +00:00
util-files.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
util-input-event.h Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
util-libinput.c Add libinput_tablet_tool_get_name() for the tool's specific name 2026-01-14 16:44:01 +10:00
util-libinput.h Move the event printing out into a utility 2025-03-13 06:13:38 +00:00
util-list.c Run clang-format over the code 2025-07-01 16:42:44 +10:00
util-list.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
util-macros.h util: mark the various bitmask functions as nonnull 2025-08-06 07:34:54 +00:00
util-matrix.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
util-mem.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
util-multivalue.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
util-newtype.h util: fix documentation issues for newtypes 2025-12-12 04:15:15 +00:00
util-prop-parsers.c quirks: replace ModelPressurepad with setting INPUT_PROP_PRESSUREPAD 2025-12-09 06:07:01 +00:00
util-prop-parsers.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
util-range.h Run clang-format over the code 2025-07-01 16:42:44 +10:00
util-ratelimit.c Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
util-ratelimit.h Use a newtype usec_t for timestamps for better type-safety 2025-12-12 04:15:15 +00:00
util-stringbuf.h Fix various typos 2026-03-24 05:09:07 +00:00
util-strings.c Fix clang-tidy false positives 2025-11-06 23:31:27 +00:00
util-strings.h Fix clang-tidy false positives 2025-11-06 23:31:27 +00:00
util-time.h util: fix remaininig usec computation on 32 bits 2026-03-24 05:24:35 +00:00
util-udev.h Run clang-format over the code 2025-07-01 16:42:44 +10:00