libinput/tools
Peter Hutterer 1d9e307e2b touchpad: implement support for three-finger drag
Exposed via new configuration option this enables 3 and 4 finger
dragging on touchpads. When enabled a 3/4 finger swipe
gesture is actually a button down + motion + button up sequence.

If tapping is disabled the drag starts immediately, if tapping is
enabled the drag starts after the tap timeout/motion so we can distinguish
between a tap and a drag.

When fingers are released:
- if two fingers remain -> keep dragging
- if one finger remains -> release drag, switch to pointer motion

When 3/4 fingers are set down immediately after releasing all fingers
the drag continues, similar to the tap drag lock feature. This drag lock
is not currently configurable.

This matches the macos behavior for the same feature.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1042>
2025-02-18 06:44:01 +00:00
..
libinput-analyze-buttons.man tools: add libinput analyze buttons for button state analysis 2024-06-18 07:43:02 +00:00
libinput-analyze-buttons.py tools: add libinput analyze buttons for button state analysis 2024-06-18 07:43:02 +00:00
libinput-analyze-per-slot-delta.man tools/per-slot-delta: optionally show the distance to the original point 2025-01-09 02:12:10 +00:00
libinput-analyze-per-slot-delta.py tools/per-slot-delta: optionally show the distance to the original point 2025-01-09 02:12:10 +00:00
libinput-analyze-recording.man tools: add a tool to print a libinput recording as a table 2021-02-23 13:46:00 +10:00
libinput-analyze-recording.py tools: fix two black warnings 2024-03-18 12:29:57 +10:00
libinput-analyze-touch-down-state.man tools: add a tool to analyze the finger count from a recording 2021-01-29 08:06:53 +10:00
libinput-analyze-touch-down-state.py tools: add a tool to analyze the finger count from a recording 2021-01-29 08:06:53 +10:00
libinput-analyze.c tools: add a libinput analyze command with the per-slot-delta subcommand 2020-03-16 08:35:43 +10:00
libinput-analyze.man tools: add libinput analyze buttons for button state analysis 2024-06-18 07:43:02 +00:00
libinput-debug-events.c tools/debug-events: move the event type str to a helper function 2024-09-12 00:59:13 +00:00
libinput-debug-events.man Add tablet area configuration 2024-11-05 12:10:48 +10:00
libinput-debug-gui.c tools/debug-gui: color the fingers with different colors 2024-12-20 01:15:11 +00:00
libinput-debug-gui.man tablet: add API for relative dials 2024-02-20 02:49:05 +00:00
libinput-debug-tablet.c tools: actually parse options in libinput-debug-tablets 2024-06-10 15:09:19 +00:00
libinput-debug-tablet.man tools: add a tablet debugging tool 2019-11-19 09:56:14 +10:00
libinput-list-devices.c tools/list-devices: add missing config options to the output 2025-02-17 07:59:05 +00:00
libinput-list-devices.man tools/list-devices: reword the man page a bit 2025-02-17 07:59:05 +00:00
libinput-list-kernel-devices.man tools: add a --hid toggle to libinput-list-kernel-devices 2022-12-08 10:08:44 +10:00
libinput-list-kernel-devices.py tools: add a --hid toggle to libinput-list-kernel-devices 2022-12-08 10:08:44 +10:00
libinput-measure-fuzz.man touchpad: add a tool to measure the touchpad fuzz 2018-05-15 13:51:33 +10:00
libinput-measure-fuzz.py Use python black for all pyhon file formatting 2021-01-28 21:02:45 +00:00
libinput-measure-touch-size.man tools: touch-size: update to use the device quirks 2018-06-21 11:48:41 +10:00
libinput-measure-touch-size.py tools: only warn once about our lack of support for multiple fingers 2024-12-18 08:49:34 +00:00
libinput-measure-touchpad-pressure.man tools: make the thumb threshold configurable while measuring pressure 2020-03-30 14:45:19 +10:00
libinput-measure-touchpad-pressure.py tools: only warn once about our lack of support for multiple fingers 2024-12-18 08:49:34 +00:00
libinput-measure-touchpad-size.man Remove trailing whitespaces in the tree 2022-11-25 10:08:20 +10:00
libinput-measure-touchpad-size.py Use python black for all pyhon file formatting 2021-01-28 21:02:45 +00:00
libinput-measure-touchpad-tap.man treewide: fix typos 2020-12-16 22:08:23 +01:00
libinput-measure-touchpad-tap.py tools: only warn once about our lack of support for multiple fingers 2024-12-18 08:49:34 +00:00
libinput-measure.c libinput-measure.c: remove unused includes 2019-09-13 00:07:39 +03:00
libinput-measure.man tools: add a measure touchpad-size tool 2020-03-30 15:14:45 +10:00
libinput-quirks.c Replace strneq() with hardcoded lengths with strstartswith() 2025-01-20 10:29:47 +00:00
libinput-quirks.man tools: rename list-quirks to the more generic "quirks list" 2018-07-03 15:16:59 +10:00
libinput-record-verify-yaml.py pre-commit: drop black, use ruff-format instead 2024-10-29 13:48:31 +10:00
libinput-record.c tools/record: record HID_BPF properties too 2025-01-20 10:29:47 +00:00
libinput-record.man tools/record: add support for hidraw recording 2021-05-05 03:59:34 +00:00
libinput-replay.man tools: add --replay-after and --once to libinput replay 2023-02-06 18:02:58 +00:00
libinput-replay.py tools/libinput-replay: use list comprehension instead of append 2024-12-22 23:59:22 +00:00
libinput-test.c tools: add a libinput test tool as entry point for our test suites 2022-05-09 05:03:00 +00:00
libinput-test.man test: install libinput-test-utils as part of install-tests 2022-05-09 05:03:00 +00:00
libinput-tool.c tools: hide debug-gui help when building with -Ddebug-gui=false 2022-10-10 08:27:05 +02:00
libinput.man man: hide debug-gui from the libinput.man page if disabled 2023-06-09 13:00:08 +10:00
make-ptraccel-graphs.sh tools: make-ptraccel-graphs: drop an unnecessary outfile 2018-07-11 16:04:59 +10:00
ptraccel-debug.c Introduce custom acceleration profile 2023-01-17 01:46:17 +00:00
razer-quirks-lister.py tools: add a tool to update our Razer quirks for internal keyboards 2023-04-11 14:48:41 +10:00
shared.c touchpad: implement support for three-finger drag 2025-02-18 06:44:01 +00:00
shared.h touchpad: implement support for three-finger drag 2025-02-18 06:44:01 +00:00
test_tool_option_parsing.py touchpad: add sticky mode to drag-lock 2024-09-05 00:47:47 +00:00