libinput issueshttps://gitlab.freedesktop.org/libinput/libinput/-/issues2024-01-12T22:45:42Zhttps://gitlab.freedesktop.org/libinput/libinput/-/issues/894Cursor jumps on Ctrl + Tap on Dell Inc. Latitude 5500 touchpad2024-01-12T22:45:42ZPavilufCursor jumps on Ctrl + Tap on Dell Inc. Latitude 5500 touchpad## Summary
Cursor jumps on Ctrl + Tap on Dell Inc. Latitude 5500 touchpad
## Steps to reproduce
Make some Ctrl + Tap on Dell Inc. Latitude 5500 touchpad for the problem to happen
## Required information
- libinput version: Version: ...## Summary
Cursor jumps on Ctrl + Tap on Dell Inc. Latitude 5500 touchpad
## Steps to reproduce
Make some Ctrl + Tap on Dell Inc. Latitude 5500 touchpad for the problem to happen
## Required information
- libinput version: Version: 1.20.0-1ubuntu0.2
- hardware information: Dell Inc. Latitude 5500 touchpad
- `libinput record` output: [touchpad.yml](/uploads/5bb4980f3598406d974b4c6d9b65102b/touchpad.yml)
- `libinput debug-events --verbose` output: [libinput_debug-events.txt](/uploads/9f697ca8defc21f161c9c0713c53374a/libinput_debug-events.txt)https://gitlab.freedesktop.org/libinput/libinput/-/issues/810Be more lenient about larger involuntary finger motion during tap2023-06-14T03:19:02ZSesterBe more lenient about larger involuntary finger motion during tap## Summary
On Windows, when tapping the touchpad, the cursor is reset to the initial position if it has been moved just a bit, I ask for this behaviour on Linux KDE as well.
## Feature details
I think behaviour as observed on Windows ...## Summary
On Windows, when tapping the touchpad, the cursor is reset to the initial position if it has been moved just a bit, I ask for this behaviour on Linux KDE as well.
## Feature details
I think behaviour as observed on Windows 10 22H2 would be fine.
If the finger is lifted before the tap-to-click timeout, small movements of the cursor should be reverted.
If the finger stays down long enough, no revert should take place.
Tap-to-click has to be enabled.
## Affected Hardware
Touchpads, chiefly.
## Implementation in Other Systems
On Windows 10 22H2 (dual-boot):
1. The finger touches the touchpad.
2. The finger moves a bit, the cursor moves as well.
3. The finger is lifted within the tap-to-click timeout.
4. The cursor's position is reset to where it was at the beginning of the touch.
5. A click is issued at that initial position.
## Hardware information
$ cat /sys/class/dmi/id/modalias
dmi:bvnAmericanMegatrendsInc.:bvr208:bd04/26/2012:br4.6:svnMedion:pnE6228:pvr1.0:rvnMedion:rnE6228:rvr1.0:cvnMedion:ct10:cvr1.0:sku0:
Model: Medion Akoya E6228, MD99050
~> udevadm info /sys/class/input/event5
P: /devices/platform/i8042/serio2/input/input10/event5
N: input/event5
S: input/by-path/platform-i8042-serio-2-event-mouse
E: DEVLINKS=/dev/input/by-path/platform-i8042-serio-2-event-mouse
E: DEVNAME=/dev/input/event5
E: DEVPATH=/devices/platform/i8042/serio2/input/input10/event5
E: ID_BUS=i8042
E: ID_INPUT=1
E: ID_INPUT_HEIGHT_MM=41
E: ID_INPUT_TOUCHPAD=1
E: ID_INPUT_TOUCHPAD_INTEGRATION=internal
E: ID_INPUT_WIDTH_MM=74
E: ID_PATH=platform-i8042-serio-2
E: ID_PATH_TAG=platform-i8042-serio-2
E: ID_SERIAL=noserial
E: LIBINPUT_DEVICE_GROUP=11/2/7:isa0060/serio2
E: LIBINPUT_FUZZ_00=8
E: LIBINPUT_FUZZ_01=8
E: LIBINPUT_FUZZ_35=8
E: LIBINPUT_FUZZ_36=8
E: MAJOR=13
E: MINOR=69
E: SUBSYSTEM=input
E: USEC_INITIALIZED=6746338https://gitlab.freedesktop.org/libinput/libinput/-/issues/748Libinput in asynchronous compositor2022-09-07T23:02:29ZJulian OrthLibinput in asynchronous compositorI'm writing an asynchronous Wayland compositor. By this I mean that there are no blocking operations. (Some components such as the graphics drivers might perform blocking operations but this is out of my control.) In particular there is ...I'm writing an asynchronous Wayland compositor. By this I mean that there are no blocking operations. (Some components such as the graphics drivers might perform blocking operations but this is out of my control.) In particular there is no way for me to call out to logind to acquire a device file descriptor without returning to the main loop.
At this point I have written an embedded X backend and I am now trying to write a native backend using libinput. Based on the libinput documentation my first intention was to use a udev context that discovers devices on its own. However, this requires me to call out to logind in the callbacks which is not possible as described above.
Instead, my intention now is to use udev manually to discover devices. Once udev reports a device I call out to logind to take the device. When logind returns successfully, I use a libinput path context to add the device. In the callback I would then look up the file descriptor in my list of opened devices.
I have not yet implemented this but it seems that it should work.
On the other hand, it might be better to enhance the libinput api to better support asynchronous application. For example, instead of using callbacks, libinput could inform the application of devices that need to be opened by providing a new event type. The application could then open the device at its own pace and later call back into libinput with the already opened file descriptor.
Are you aware of other users of libinput that have encountered and solved this problem? Do you think my solution using a path context is workable and future proof? What do you think about my suggested api enhancement?https://gitlab.freedesktop.org/libinput/libinput/-/issues/736Support 3d connexion space mouse2022-02-14T08:25:22ZAlberto FanjulSupport 3d connexion space mouse![image](/uploads/a09a80816d466c832d1c6cefdd828b9b/image.png)
I'm testing this device and is working as expected, but userspace drivers are using x11 events.
https://github.com/FreeSpacenav/spacenavd/issues/58
I test the usb device it...![image](/uploads/a09a80816d466c832d1c6cefdd828b9b/image.png)
I'm testing this device and is working as expected, but userspace drivers are using x11 events.
https://github.com/FreeSpacenav/spacenavd/issues/58
I test the usb device itself and report is really simple (two buttons and 6 axis):
```
$ sudo usbhid-dump -a1:13 -i0 | grep -v : | xxd -r -p | hidrd-convert -o spec
Usage Page (Desktop), ; Generic desktop controls (01h)
Usage (Multi Axis Ctrl), ; Multi-axis controller (08h, application collection)
Collection (Application),
Collection (Physical),
Report ID (1),
Logical Minimum (-350),
Logical Maximum (350),
Physical Minimum (-1400),
Physical Maximum (1400),
Unit Exponent (12),
Unit (Centimeter),
Usage (X), ; X (30h, dynamic value)
Usage (Y), ; Y (31h, dynamic value)
Usage (Z), ; Z (32h, dynamic value)
Report Size (16),
Report Count (3),
Input (Variable, Relative),
End Collection,
Collection (Physical),
Report ID (2),
Usage (Rx), ; Rx (33h, dynamic value)
Usage (Ry), ; Ry (34h, dynamic value)
Usage (Rz), ; Rz (35h, dynamic value)
Report Size (16),
Report Count (3),
Input (Variable, Relative),
End Collection,
Collection (Logical),
Report ID (3),
Usage Page (Desktop), ; Generic desktop controls (01h)
Usage Page (Button), ; Button (09h)
Usage Minimum (01h),
Usage Maximum (02h),
Logical Minimum (0),
Logical Maximum (1),
Physical Minimum (0),
Physical Maximum (1),
Report Size (1),
Report Count (2),
Input (Variable),
Report Count (14),
Input (Constant, Variable),
End Collection,
Collection (Logical),
Report ID (4),
Usage Page (LED), ; LEDs (08h)
Usage (4Bh),
Logical Minimum (0),
Logical Maximum (1),
Report Count (1),
Report Size (1),
Output (Variable),
Report Count (1),
Report Size (7),
Output (Constant, Variable),
End Collection,
Usage Page (FF00h), ; FF00h, vendor-defined
Usage (01h),
Collection (Logical),
Logical Minimum (-128),
Logical Maximum (127),
Report Size (8),
Usage (3Ah),
Collection (Logical),
Report ID (5),
Usage (20h),
Report Count (1),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (6),
Usage (21h),
Report Count (1),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (7),
Usage (22h),
Report Count (1),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (8),
Usage (23h),
Report Count (7),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (9),
Usage (24h),
Report Count (7),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (10),
Usage (25h),
Report Count (7),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (11),
Usage (26h),
Report Count (1),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (19),
Usage (2Eh),
Report Count (1),
Feature (Variable),
End Collection,
Collection (Logical),
Report ID (25),
Usage (31h),
Report Count (4),
Feature (Variable),
End Collection,
End Collection,
End Collection
```
evtest is too really simple:
```
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x46d product 0xc626 version 0x111
Input device name: "3Dconnexion SpaceNavigator"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 256 (BTN_0)
Event code 257 (BTN_1)
Event type 2 (EV_REL)
Event code 0 (REL_X)
Event code 1 (REL_Y)
Event code 2 (REL_Z)
Event code 3 (REL_RX)
Event code 4 (REL_RY)
Event code 5 (REL_RZ)
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Event type 17 (EV_LED)
Event code 8 (LED_MISC) state 0
Properties:
Testing ... (interrupt to exit)
Event: time 1644343535.132211, type 2 (EV_REL), code 4 (REL_RY), value 3
Event: time 1644343535.132211, -------------- SYN_REPORT ------------
Event: time 1644343535.148180, type 2 (EV_REL), code 4 (REL_RY), value 10
Event: time 1644343535.148180, -------------- SYN_REPORT ------------
Event: time 1644343535.164186, type 2 (EV_REL), code 4 (REL_RY), value 13
Event: time 1644343535.164186, -------------- SYN_REPORT ------------
Event: time 1644343535.180201, type 2 (EV_REL), code 4 (REL_RY), value 14
Event: time 1644343535.180201, -------------- SYN_REPORT ------------
Event: time 1644343535.196189, type 2 (EV_REL), code 4 (REL_RY), value 18
Event: time 1644343535.196189, -------------- SYN_REPORT ------------
Event: time 1644343535.212294, type 2 (EV_REL), code 4 (REL_RY), value 21
Event: time 1644343535.212294, -------------- SYN_REPORT ------------
Event: time 1644343535.228181, type 2 (EV_REL), code 4 (REL_RY), value 22
Event: time 1644343535.228181, -------------- SYN_REPORT ------------
Event: time 1644343535.236205, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1644343535.236205, -------------- SYN_REPORT ------------
Event: time 1644343535.244166, type 2 (EV_REL), code 4 (REL_RY), value 25
Event: time 1644343535.244166, -------------- SYN_REPORT ------------
Event: time 1644343535.252187, type 2 (EV_REL), code 1 (REL_Y), value 5
Event: time 1644343535.252187, -------------- SYN_REPORT ------------
...
```
How can this device by detect by libinput?https://gitlab.freedesktop.org/libinput/libinput/-/issues/707Touchpad with flat profile cannot be set fast enough2022-06-03T04:16:20ZJames ChancellorTouchpad with flat profile cannot be set fast enough## Summary
I have Ubuntu 21.10 running an Xorg session on a laptop with an Elantech touchpad. I would like to have a "flat" acceleration profile with enough speed, but the range of allowable values for "Accel Speed" does not allow this....## Summary
I have Ubuntu 21.10 running an Xorg session on a laptop with an Elantech touchpad. I would like to have a "flat" acceleration profile with enough speed, but the range of allowable values for "Accel Speed" does not allow this.
## Steps to reproduce
First of all, enable the "flat" profile for the touchpad with xinput (this is not exposed via any Ubuntu/Gnome UI):
```
xinput set-prop 'ETPS/2 Elantech Touchpad' 'libinput Accel Profile Enabled' 0, 1
```
I don't really understand what 0, 1 means, but I assume it is something like normalprofile=0 flatprofile=1. The default was `1, 0`. But it works, and the touchpad behaves as I expect -- with the cursor distance proportional to finger distance.
Then set the speed to maximum:
```
xinput set-prop 'ETPS/2 Elantech Touchpad' 'libinput Accel Speed' 1.0
```
For this value, a finger swipe across 100% of the touchpad makes the cursor move about 60% of the way across the screen. This is what seems far too slow for me.
Incidentally, if I try to set this to eg 1.1, I get an error. If I set it to -1.0, the cursor moves only a few pixels in total for a finger swipe across 100% of the touchpad.
## Notes
I realize that preferred touchpad settings are subjective. However I feel that my own preferences here are fairly normal, and either that there's something wrong with my hardware/configuration that is making this very slow, or that if it's intentional then this speed would be too slow for a significant proportion of users.
I believe the ability to use a flat profile for touchpads was added after this issue: https://gitlab.freedesktop.org/libinput/libinput/-/issues/283.
(I have virtually no understanding of how xinput/libinput/Wayland/X all work together or not in case this report is nonsensical.)
## Required information
<!-- Note: if your libinput version is older than the current stable version,
please reproduce with a current version instead -->
- libinput version: 1.18.1
- hardware information: Lenovo Ideapad 510S-14ISK
[libinput-debug-events.out](/uploads/c4534bf91977ea3f412010f432bf7ef9/libinput-debug-events.out)
[libinput-record.out](/uploads/436e78b8539ea53df19f261532816f89/libinput-record.out)
[modalias.out](/uploads/278625bbd349bb73cc352634c85330f9/modalias.out)
[touchpad-edge-detector.out](/uploads/a7eccc2ac2fe885832df89c81b7af3b2/touchpad-edge-detector.out)
[udevadm.out](/uploads/82ed0911723057c15f2a16734e7dce8b/udevadm.out)
[xinput-list-props.out](/uploads/34dda0cbf6cf351813fef477708e85a9/xinput-list-props.out)https://gitlab.freedesktop.org/libinput/libinput/-/issues/621GTK 4 support for debug GUI2021-08-05T19:30:12ZIssam E. MaghniGTK 4 support for debug GUIHi,
is it possible to add GTK 4 for debug UI? For now, only GTK+ 3 is supported.
This would reduce dependencies on newer systems.
Thank you.Hi,
is it possible to add GTK 4 for debug UI? For now, only GTK+ 3 is supported.
This would reduce dependencies on newer systems.
Thank you.https://gitlab.freedesktop.org/libinput/libinput/-/issues/616Button debouncing does not work with my "E-Signal USB Gaming Mouse" (ZeleSouris)2022-05-20T23:58:17ZMaxime ChéramyButton debouncing does not work with my "E-Signal USB Gaming Mouse" (ZeleSouris)## Summary
Accidental double clicks are not filtered out by libinput of a defective mouse .
Here are the debug events for a *simple click":
```
event23 - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_IS_...## Summary
Accidental double clicks are not filtered out by libinput of a defective mouse .
Here are the debug events for a *simple click":
```
event23 - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_IS_DOWN_WAITING
-event23 POINTER_BUTTON +9.380s BTN_LEFT (272) pressed, seat count: 1
event23 - debounce state: DEBOUNCE_STATE_IS_DOWN_WAITING → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DELAYING
event23 - debounce state: DEBOUNCE_STATE_IS_UP_DELAYING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
event23 POINTER_BUTTON +9.400s BTN_LEFT (272) released, seat count: 0
event23 - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_IS_DOWN_WAITING
event23 POINTER_BUTTON +9.422s BTN_LEFT (272) pressed, seat count: 1
event23 - debounce state: DEBOUNCE_STATE_IS_DOWN_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_DOWN
event23 - debounce state: DEBOUNCE_STATE_IS_DOWN → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS
event23 POINTER_BUTTON +9.474s BTN_LEFT (272) released, seat count: 0
event23 - debounce state: DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS → DEBOUNCE_EVENT_TIMEOUT_SHORT → DEBOUNCE_STATE_IS_UP_WAITING
event23 - debounce state: DEBOUNCE_STATE_IS_UP_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
```
and here another click:
```
event23 - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_IS_DOWN_WAITING
-event23 POINTER_BUTTON +78.562s BTN_LEFT (272) pressed, seat count: 1
event23 - debounce state: DEBOUNCE_STATE_IS_DOWN_WAITING → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DELAYING
event23 - debounce state: DEBOUNCE_STATE_IS_UP_DELAYING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
event23 POINTER_BUTTON +78.584s BTN_LEFT (272) released, seat count: 0
event23 - debounce state: DEBOUNCE_STATE_IS_UP → DEBOUNCE_EVENT_PRESS → DEBOUNCE_STATE_IS_DOWN_WAITING
event23 POINTER_BUTTON +78.605s BTN_LEFT (272) pressed, seat count: 1
event23 - debounce state: DEBOUNCE_STATE_IS_DOWN_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_DOWN
event23 - debounce state: DEBOUNCE_STATE_IS_DOWN → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS
event23 POINTER_BUTTON +78.710s BTN_LEFT (272) released, seat count: 0
event23 - debounce state: DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS → DEBOUNCE_EVENT_TIMEOUT_SHORT → DEBOUNCE_STATE_IS_UP_WAITING
event23 - debounce state: DEBOUNCE_STATE_IS_UP_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
```
## Steps to reproduce
Normal clicks, 10% of the time maybe.
## Required information
<!-- Note: if your libinput version is older than the current stable version,
please reproduce with a current version instead -->
- libinput version: 1.16.4-3
- hardware information: E-Signal USB Gaming Mouse
- `libinput record` output: [record.yml](/uploads/cb7b970543c4846b84964a5bfbfcb705/record.yml)https://gitlab.freedesktop.org/libinput/libinput/-/issues/591Touchpad cursor speed it too low with flat acceleration profile2022-06-03T04:16:19ZJakub NowakTouchpad cursor speed it too low with flat acceleration profile## Summary
<!--
Summarize the bug encountered concisely. See
https://wayland.freedesktop.org/libinput/doc/latest/reporting-bugs.html for
detailed instructions to report bugs
-->
The cursor speed is too low with flat acceleration profil...## Summary
<!--
Summarize the bug encountered concisely. See
https://wayland.freedesktop.org/libinput/doc/latest/reporting-bugs.html for
detailed instructions to report bugs
-->
The cursor speed is too low with flat acceleration profile and acceleration speed set to maximum. I would like the cursor to be about twice as fast.
## Steps to reproduce
I've set acceleration profile to flat and acceleration speed to maximum (i.e. 1.000000).
## Required information
<!-- Note: if your libinput version is older than the current stable version,
please reproduce with a current version instead -->
- libinput version: 1.17.0
- `libinput record`: [libinput.record](/uploads/e32c24402c29b82908ec41fa6f86dd21/libinput.record)
- `libinput debug-events --verbose`: [libinput.debug-events](/uploads/f8de813fbc49f21c0be154f82bbbd379/libinput.debug-events)
- `xinput list-props`: [xinput.list-props](/uploads/aa3f2df3a9da7be15ba279f79cff54f6/xinput.list-props)
- `udevadm info`: [udevadm.info](/uploads/24e5b4b88d9da546c1314df5e0357479/udevadm.info)
- `/sys/class/dmi/id/modalias`:
```
dmi:bvnDellInc.:bvrA02:bd09/03/2013:br4.6:svnDellInc.:pnLatitudeE6440:pvr01:rvnDellInc.:rn0YX2X3:rvrA00:cvnDellInc.:ct9:cvr:
```
- laptop model: DELL Latitude E6440
<!--
Paste any other relevant logs - please use code blocks (```) to format
console output, logs, and code as it's very hard to read otherwise.)
Do not paste logs longer than 10 lines, **attach** those instead.
If your libinput record is longer than 5-10s, we will not be able to process
it.
-->https://gitlab.freedesktop.org/libinput/libinput/-/issues/583Disable mouse scroll wheel while middle click is held2021-03-17T03:44:21ZJosé ExpósitoDisable mouse scroll wheel while middle click is held<!--
Before your file a feature request, please read
https://wayland.freedesktop.org/libinput/doc/latest/what-is-libinput.html
The amount of developer time libinput has available is very small.
Requesting a feature is no guarantee tha...<!--
Before your file a feature request, please read
https://wayland.freedesktop.org/libinput/doc/latest/what-is-libinput.html
The amount of developer time libinput has available is very small.
Requesting a feature is no guarantee that it will get implemented. Someone
(you!) needs to step up to do the work.
-->
## Summary
<!-- Summarize the requested feature in a few sentences. -->
Do not send axis/scroll events when the mouse wheel is clicked.
## Feature details
<!-- A step-by-step list of what the feature should achieve (where applicable) -->
This feature was already requested in https://gitlab.freedesktop.org/libinput/libinput/-/issues/19 including details.
My personal use case is that I have a (cheap) mouse whose scroll wheel doesn't work that well and some times it scrolls when I press it. Trying to open a browser link in a new tab can be frustrating because the page scrolls on click.
I can submit a merge request including [the required changes](https://gitlab.freedesktop.org/libinput/libinput/-/issues/19#note_830466) to implement this feature.
## Affected Hardware
<!-- Which hardware types would be affected by this -->
Mice with a clickable scroll wheel.
## Implementation in Other Systems
<!-- Does this feature already exist elsewhere? How does it work there? Try
to provide as many details as possible -->
This is the default behavior in Windows 10 (Chrome).https://gitlab.freedesktop.org/libinput/libinput/-/issues/566Thumb rejection interferes with pinch gestures2021-05-19T08:02:58ZnovenaryThumb rejection interferes with pinch gestures## Summary
It's way too difficult to initiate a pinch gesture with the index and thumb on my laptop. Other finger combinations (both thumbs or no thumbs) work fine.
## Steps to reproduce
- Open an application which handles pinch gestu...## Summary
It's way too difficult to initiate a pinch gesture with the index and thumb on my laptop. Other finger combinations (both thumbs or no thumbs) work fine.
## Steps to reproduce
- Open an application which handles pinch gestures (recent Firefox Nightly with `apz.gtk.touchpad_pinch.enabled`, GNOME Image Viewer, gtk3-demo)
- Attempt a pinch gesture with index and thumb => sometimes the cursor moves, sometimes I get scrolling instead (#550), sometimes I get zooming as expected, I can't really tell whether it depends on timing or how my thumb touches the surface
- Attempt a pinch gesture with another pair of fingers => works as intended
The following hack to disable thumb rejection does help with the cursor moving problem. Swipe gestures (scrolling) are very easy to perform in comparsion, they feel very natural.
```diff
--- a/src/evdev-mt-touchpad-thumb.c
+++ b/src/evdev-mt-touchpad-thumb.c
@@ -392,6 +392,7 @@
struct quirks *q;
tp->thumb.detect_thumbs = false;
+ return;
if (!tp->buttons.is_clickpad)
return;
```
## Required information
- libinput version: 1.16.4
- hardware information: Lenovo Ideapad 320S-14IKB
- `libinput record` output: attached a log of me trying to pinch three times, but only got cursor moves [record.log](/uploads/72b61bdcc70618fdcdc450bedb2f29a7/record.log)
- `libinput debug-events --verbose` output: the final part of the log is a failed attempt to pinch [events.log](/uploads/301c2b68716d540072659ee888298ca1/events.log)Matt MayfieldMatt Mayfieldhttps://gitlab.freedesktop.org/libinput/libinput/-/issues/550[Feature Request] Add ability to switch between gesture types at beginning of...2021-06-03T06:06:10ZSawyer Bergeron[Feature Request] Add ability to switch between gesture types at beginning of gesture## Summary
If libinput detects the very first events being a pan, it no longer considers that the user could be trying to zoom.
This makes triggering a zoom gesture relatively more difficult than on windows/osx.
## Feature details
A d...## Summary
If libinput detects the very first events being a pan, it no longer considers that the user could be trying to zoom.
This makes triggering a zoom gesture relatively more difficult than on windows/osx.
## Feature details
A delay should be added where if a gesture is detected that may be a pan or a zoom, the gesture could turn into a zoom.
This could also be achieved using a movement threshold after which a zoom and a pan can be differentiated, which allows a slow gesture start (fingers down with delay before movement occurs).
## Affected Hardware
Touchpads (tested on XPS 9700)
## Implementation in Other Systems
Windows precision: a short delay (about a third of a second) within which a two-finger touch can start a zoom gesture
OSX: reported (by friend) a similar, about half-second delay where the same occurs.
Alternatively, an option to disable gesture locking altogether (so pan and zoom can be concurrently active) for users that don't use one-finger-static two-finger pan would fill the same niche.https://gitlab.freedesktop.org/libinput/libinput/-/issues/5352-finger pinch detection on Dell XPS 13" 9300 is not working well2021-06-04T01:13:51ZBen Iofel2-finger pinch detection on Dell XPS 13" 9300 is not working well## Summary
2-finger pinch detection isn't working very well on my touchpad. I assume the blue circles represent pinching.
![Screencast_from_10-25-2020_10_46_53_PM](/uploads/617ee12c3da76b5c8e86e64ef92112fc/Screencast_from_10-25-2020_10...## Summary
2-finger pinch detection isn't working very well on my touchpad. I assume the blue circles represent pinching.
![Screencast_from_10-25-2020_10_46_53_PM](/uploads/617ee12c3da76b5c8e86e64ef92112fc/Screencast_from_10-25-2020_10_46_53_PM.webm)
<!--
Summarize the bug encountered concisely. See
https://wayland.freedesktop.org/libinput/doc/latest/reporting-bugs.html for
detailed instructions to report bugs
-->
## Steps to reproduce
1. Use libinput with GNOME on wayland
2. Open any program that supports pinch-to-zoom (e.g. evince)
3. Try to use pinch to zoom in and out.
## Required information
<!-- Note: if your libinput version is older than the current stable version,
please reproduce with a current version instead -->
- libinput version: 1.16.2
- hardware information: Dell XPS 13" 9300
- `libinput record` output: [recording.yml](/uploads/01102aefe41e40217a51f55d2f373c9b/recording.yml)
- `libinput debug-events --verbose` output: [debug-events.txt](/uploads/7b5fe3a0426cea19f0ff6467cea0d771/debug-events.txt)
<!--
Paste any other relevant logs - please use code blocks (```) to format
console output, logs, and code as it's very hard to read otherwise.)
Do not paste logs longer than 10 lines, **attach** those instead.
If your libinput record is longer than 5-10s, we will not be able to process
it.
-->https://gitlab.freedesktop.org/libinput/libinput/-/issues/518Thinkpad E550 - Touchpad jumping cursor2020-08-26T01:33:09ZEdwin PujolsThinkpad E550 - Touchpad jumping cursor## Summary
An instance of the "Touchpad jumping cursors" bug as per:
https://wayland.freedesktop.org/libinput/doc/1.15.6/touchpad-jumping-cursors.html
It might be the same bug as in #492.
## Steps to reproduce
While keeping a finger...## Summary
An instance of the "Touchpad jumping cursors" bug as per:
https://wayland.freedesktop.org/libinput/doc/1.15.6/touchpad-jumping-cursors.html
It might be the same bug as in #492.
## Steps to reproduce
While keeping a finger on the lower part of the touchpad, if I double tap with a second finger (anywhere on the touchpad) this causes the cursor to abruptly jump down.
## Required information
<!-- Note: if your libinput version is older than the current stable version,
please reproduce with a current version instead -->
- libinput version: 1.15.6
- hardware information: Lenovo ThinkPad E550, AlpsPS/2 ALPS DualPoint TouchPad.
- `libinput record` output: [alps-touchpad.yml](/uploads/c85c9d9df1acc10db594811240b82598/alps-touchpad.yml)
- `libinput debug-events --verbose` output: [debug-events.txt](/uploads/1e2a2bf2a7fdf0fadc3b6d41ce20a455/debug-events.txt)
- `udevadm info` output: [udevadm.txt](/uploads/32f62478fb3e0cf5310587717984ce6c/udevadm.txt)
- `touchpad-edge-detector 100x57 /dev/input/event5` output: [touch-edge-detector-output.txt](/uploads/d1c2c14a749e5d349dff0cbf310ef6ff/touch-edge-detector-output.txt)
- The surface of the touchpad is clickable, and there are physical buttons on the top.
- Tap-to-click is disabled.
- Contents of `/sys/class/dmi/id/modalias`: [modalias.txt](/uploads/81f05f4130277c095792790e2e3346eb/modalias.txt)
<!--
Paste any other relevant logs - please use code blocks (```) to format
console output, logs, and code as it's very hard to read otherwise.)
Do not paste logs longer than 10 lines, **attach** those instead.
If your libinput record is longer than 5-10s, we will not be able to process
it.
-->https://gitlab.freedesktop.org/libinput/libinput/-/issues/495touchscreen, tap, and five finger gesture events2022-04-30T15:46:28ZNatnael Kahssaytouchscreen, tap, and five finger gesture events<!--
Before your file a feature request, please read
https://wayland.freedesktop.org/libinput/doc/latest/what-is-libinput.html
The amount of developer time libinput has available is very small.
Requesting a feature is no guarantee tha...<!--
Before your file a feature request, please read
https://wayland.freedesktop.org/libinput/doc/latest/what-is-libinput.html
The amount of developer time libinput has available is very small.
Requesting a feature is no guarantee that it will get implemented. Someone
(you!) needs to step up to do the work.
-->
## Summary
extend `libinput debug-gestures` to handle tap gestures, five finger gestures and touchscreen gestures.
<!-- Summarize the requested feature in a few sentences. -->
## Feature details
- **Tap gestures**
- This means that tapping the touchpad with 4 or 5 fingers is recognized as a gesture.
- **5 finger gestures**
- This means that you can place 5 fingers on the touchpad and that is recognized as another class of gestures.
- **Touchscreen gestures**
- Extend gestures to touchscreen.
<!-- A step-by-step list of what the feature should achieve (where applicable) -->
## Affected Hardware
Machines like surface book have capability for five finger gestures and touchscreen gestures. `Event code 328 (BTN_TOOL_QUINTTAP)` is the event code for five finger gestures. Touchscreen event codes also mirror touchpad ones, making them easy to handle by modifying code for a touchpad driver based on slot event codes.
<!-- Which hardware types would be affected by this -->
## Implementation in Other Systems
I have implemented a proof-of-concept script in [python](https://github.com/natask/gestures) built upon `evtest`. It is possible to transfer the logic to c.
<!-- Does this feature already exist elsewhere? How does it work there? Try
to provide as many details as possible -->https://gitlab.freedesktop.org/libinput/libinput/-/issues/492Touchpad cursor jump when using index finger to click (or hold whilst dragging)2020-10-06T22:18:53ZGeorge WhiteTouchpad cursor jump when using index finger to click (or hold whilst dragging)## Summary
On a Lenovo ThinkPad E465 laptop with an 'AlpsPS/2 ALPS DualPoint TouchPad', resting your index finger to click the button underneath the touchpad and using another finger to control the pointer results in cursor jumps to the...## Summary
On a Lenovo ThinkPad E465 laptop with an 'AlpsPS/2 ALPS DualPoint TouchPad', resting your index finger to click the button underneath the touchpad and using another finger to control the pointer results in cursor jumps to the very bottom-left of the screen when the stable (i.e. non-moving) index finger is near the bottom-left of the touchpad.
## Steps to reproduce
Use two fingers to operate the trackpad, one which remains still to operate the whole-surface click within 20mm of the bottom-left corner, and one to move the pointer around the screen, lifting up this finger to move the propel the cursor top-right.
When the pointer finger lands on the touchpad next, the cursor will jump to the bottom left corner of the screen.
The condition is most exaggerated the nearer the stable finger is to the bottom left of the touchpad, but still occurs with somewhat reduced frequency the further the stable finger is away from this corner.
## Required information
<!-- Note: if your libinput version is older than the current stable version,
please reproduce with a current version instead -->
- libinput version: 1.15.5
- hardware information: Lenovo ThinkPad E465, AlpsPS/2 ALPS DualPoint TouchPad
- `udevadm info /sys/class/input/event8` output attached: [udevadm-info.txt](/uploads/0fadd21137c6cc5a2c6ec1ed63ca28fd/udevadm-info.txt)
- `/sys/class/dmi/id/modalias` reports `dmi:bvnLENOVO:bvrR01ET41W(1.21):bd12/20/2017:svnLENOVO:pn20EXS00E00:pvrThinkPadE465:rvnLENOVO:rn20EXS00E00:rvrSDK0J40697WIN:cvnLENOVO:ct10:cvrNotAvailable:`
- `touchpad-edge-detector` reports correct physical size (97x53mm)
- `libinput record` recording attached: [libinput-record.yml](/uploads/3242120c705aa62d9ccf608780508211/libinput-record.yml)
*edit*: simplified recording quite a bit by trying again.https://gitlab.freedesktop.org/libinput/libinput/-/issues/470Debouncing does not work with Logitech M5702022-04-22T20:48:28ZAmir MohammadiDebouncing does not work with Logitech M570## Summary
I have this wireless mouse and many times when I click, it starts double clicking.
It has been like this for months and I know that libinput implements debouncing explained in
https://wayland.freedesktop.org/libinput/doc/late...## Summary
I have this wireless mouse and many times when I click, it starts double clicking.
It has been like this for months and I know that libinput implements debouncing explained in
https://wayland.freedesktop.org/libinput/doc/latest/button-debouncing.html
My mouse keeps double clicking even after I see in the logs that debouncing is enabled for it.
## Steps to reproduce
Buy a defect Logitech M570 and start clicking ;)
I know reproducing this is difficult so please let me know if you want more information.
## Required information
<!-- Note: if your libinput version is older than the current stable version,
please reproduce with a current version instead -->
- libinput version: 1.15.4
- hardware information: Logitech M570
- `libinput record` output: [libinput_record.txt](/uploads/3463446e8194f87570f977ac8746a04c/libinput_record.txt)
- `libinput debug-events --verbose` output: [libinput_debug-events_--verbose.txt](/uploads/295fe126c0aa089b0a6b783129f0984f/libinput_debug-events_--verbose.txt)
The logs for `libinput record` and `libinput debug-events --verbose` were collected separately and I stopped the logging as soon as the mouse double clicked.
```
$ udevadm info /sys/class/input/event11
P: /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.1/1-4.1.1/1-4.1.1:1.2/0003:046D:C52B.0003/0003:046D:1028.0009/input/input23/event11
N: input/event11
L: 0
S: input/by-id/usb-Logitech_USB_Receiver-if02-event-mouse
S: input/by-path/pci-0000:00:14.0-usb-0:4.1.1:1.2-event-mouse
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.1/1-4.1.1/1-4.1.1:1.2/0003:046D:C52B.0003/0003:046D:1028.0009/input/input23/event11
E: DEVNAME=/dev/input/event11
E: MAJOR=13
E: MINOR=75
E: SUBSYSTEM=input
E: USEC_INITIALIZED=18922067
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_VENDOR=Logitech
E: ID_VENDOR_ENC=Logitech
E: ID_VENDOR_ID=046d
E: ID_MODEL=USB_Receiver
E: ID_MODEL_ENC=USB\x20Receiver
E: ID_MODEL_ID=c52b
E: ID_REVISION=1208
E: ID_SERIAL=Logitech_USB_Receiver
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030101:030102:030000:
E: ID_USB_INTERFACE_NUM=02
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:14.0-usb-0:4.1.1:1.2
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_4_1_1_1_2
E: ID_INPUT_TRACKBALL=1
E: MOUSE_DPI=540@167
E: LIBINPUT_DEVICE_GROUP=3/46d/1028:usb-0000:00:14.0-4.1
E: DEVLINKS=/dev/input/by-id/usb-Logitech_USB_Receiver-if02-event-mouse /dev/input/by-path/pci-0000:00:14.0-usb-0:4.1.1:1.2-event-mouse
```https://gitlab.freedesktop.org/libinput/libinput/-/issues/415Different behaviour for device "8BitDo SN30 Pro+" between USB and Bluetooth.2021-12-03T00:44:50ZTérence ClastresDifferent behaviour for device "8BitDo SN30 Pro+" between USB and Bluetooth.## Summary
The SN30 Pro+ can connects either with Bluetooth or with USB. It has 4 input modes you can choose when starting the device.
This is using XInput mode.
When connected over USB, the device works fine and vibrates.
However, when ...## Summary
The SN30 Pro+ can connects either with Bluetooth or with USB. It has 4 input modes you can choose when starting the device.
This is using XInput mode.
When connected over USB, the device works fine and vibrates.
However, when connected over Bluetooth, vibration no longer works and libinput produces `(EE) libinput bug: Event for missing capability CAP_POINTER on device "8BitDo SN30 Pro+"` each time a button is pressed.
## Steps to reproduce
1. Connect a SN30 pro+ in XInput mode over USB and make sure vibration works.
2. Connect it over bluetooth and vibration no long works.
3. `(EE) libinput bug: Event for missing capability CAP_POINTER on device "8BitDo SN30 Pro+"` will appear on each press of a button.
## libinput version you encountered the bug on
1.15.0
## Hardware/Software information:
- 8bitdo SN30 pro+
- Crosshair Hero VI
- ArchLinux
- Linux-tkg 5.4.10
## Other log output:
- `libinput record` output: [libinput_record.txt](/uploads/8da1b8eb578f9a1f89f4191712dbd2f3/libinput_record.txt)
- `libinput debug-events --verbose` output:
```
event20 - 8BitDo SN30 Pro+: is tagged by udev as: Keyboard Joystick
event20 - 8BitDo SN30 Pro+: device is a keyboard
-event20 DEVICE_ADDED 8BitDo SN30 Pro+ seat0 default group8 cap:k calib
libinput bug: Event for missing capability CAP_POINTER on device "8BitDo SN30 Pro+"
event20 - debounce state: DEBOUNCE_STATE_IS_DOWN → DEBOUNCE_EVENT_RELEASE → DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS
event20 - debounce state: DEBOUNCE_STATE_IS_UP_DETECTING_SPURIOUS → DEBOUNCE_EVENT_TIMEOUT_SHORT → DEBOUNCE_STATE_IS_UP_WAITING
event20 - debounce state: DEBOUNCE_STATE_IS_UP_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP
```
`udev information`
When connected over USB:
```
P: /devices/pci0000:00/0000:00:01.3/0000:01:00.0/usb1/1-7/1-7.1/1-7.1.1/1-7.1.1:1.0/input/input55/event20
N: input/event20
L: 0
S: input/by-path/pci-0000:01:00.0-usb-0:7.1.1:1.0-event-joystick
S: input/by-id/usb-8Bitdo_SF30_Pro_Controller_157F8F8-event-joystick
E: DEVPATH=/devices/pci0000:00/0000:00:01.3/0000:01:00.0/usb1/1-7/1-7.1/1-7.1.1/1-7.1.1:1.0/input/input55/event20
E: DEVNAME=/dev/input/event20
E: MAJOR=13
E: MINOR=84
E: SUBSYSTEM=input
E: USEC_INITIALIZED=6964312519
E: ID_INPUT=1
E: ID_INPUT_JOYSTICK=1
E: ID_VENDOR=8Bitdo_SF30_Pro
E: ID_VENDOR_ENC=8Bitdo\x20SF30\x20Pro\x20\x20
E: ID_VENDOR_ID=045e
E: ID_MODEL=Controller
E: ID_MODEL_ENC=Controller
E: ID_MODEL_ID=028e
E: ID_REVISION=0114
E: ID_SERIAL=8Bitdo_SF30_Pro_Controller_157F8F8
E: ID_SERIAL_SHORT=157F8F8
E: ID_TYPE=generic
E: ID_BUS=usb
E: ID_USB_INTERFACES=:ff5d01:ff5d03:ff5d02:fffd13:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=xpad
E: ID_PATH=pci-0000:01:00.0-usb-0:7.1.1:1.0
E: ID_PATH_TAG=pci-0000_01_00_0-usb-0_7_1_1_1_0
E: ID_INPUT_JOYSTICK_INTEGRATION=internal
E: ID_FOR_SEAT=input-pci-0000_01_00_0-usb-0_7_1_1_1_0
E: LIBINPUT_DEVICE_GROUP=3/45e/28e:usb-0000:01:00.0-7.1
E: DEVLINKS=/dev/input/by-path/pci-0000:01:00.0-usb-0:7.1.1:1.0-event-joystick /dev/input/by-id/usb-8Bitdo_SF30_Pro_Controller_157F8F8-event-joystick
E: TAGS=:seat:uaccess:
```
When connected over bluetooth:
```
P: /devices/pci0000:00/0000:00:01.3/0000:01:00.0/usb1/1-2/1-2:1.0/bluetooth/hci0/hci0:256/0005:045E:02E0.0016/input/input56/event20
N: input/event20
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:01.3/0000:01:00.0/usb1/1-2/1-2:1.0/bluetooth/hci0/hci0:256/0005:045E:02E0.0016/input/input56/event20
E: DEVNAME=/dev/input/event20
E: MAJOR=13
E: MINOR=84
E: SUBSYSTEM=input
E: USEC_INITIALIZED=7258565891
E: ID_INPUT=1
E: ID_INPUT_JOYSTICK=1
E: ID_INPUT_KEY=1
E: ID_BUS=bluetooth
E: ID_INPUT_JOYSTICK_INTEGRATION=external
E: ID_PATH=pci-0000:01:00.0-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_01_00_0-usb-0_2_1_0
E: ID_FOR_SEAT=input-pci-0000_01_00_0-usb-0_2_1_0
E: LIBINPUT_DEVICE_GROUP=5/45e/2e0:d4:d2:52:a9:4f:d3
E: TAGS=:power-switch:uaccess:seat:
```https://gitlab.freedesktop.org/libinput/libinput/-/issues/300Stopping kinetic scrolling2021-06-09T01:42:06ZJan Alexander SteffensStopping kinetic scrollingThe current kinetic scrolling implementation (of libinput → Mutter → GTK) does not stop the scroll if I place two fingers on the touchpad again.<br>
It requires a minute movement of the fingers in order for libinput to send an axis event...The current kinetic scrolling implementation (of libinput → Mutter → GTK) does not stop the scroll if I place two fingers on the touchpad again.<br>
It requires a minute movement of the fingers in order for libinput to send an axis event that makes GTK interrupt the kinetic scroll.
The only other device I use with kinetic scrolling is an Android phone, where this feels really natural (albeit with one finger only, of course).
Is there something that can be done here?https://gitlab.freedesktop.org/libinput/libinput/-/issues/295Register a quick double tap as a click if one finger is already in contact an...2020-07-01T23:32:58ZPedro SantosRegister a quick double tap as a click if one finger is already in contact and resting## Summary
Hi, this ticket requests for a click to be registered when
a second finger quickly touches the touchpad, while the first
finger remains resting.
## Feature details
Use case:
- move the pointer around using the first finge...## Summary
Hi, this ticket requests for a click to be registered when
a second finger quickly touches the touchpad, while the first
finger remains resting.
## Feature details
Use case:
- move the pointer around using the first finger
- at some point, send a click just by tapping a second finger on the touchpad, without moving/raising the first one already in contact
## Implementation in Other Systems
This behavior is the default one for Apple trackpads and would be nice to have it in Linux desktops.https://gitlab.freedesktop.org/libinput/libinput/-/issues/271Clickfinger: dropping a thumb onto the pad while two-finger scrolling should ...2019-07-11T02:23:56ZNate GrahamClickfinger: dropping a thumb onto the pad while two-finger scrolling should not stop the scroll## Summary
In clickfinger mode, dropping a thumb onto a buttonless touchpad while doing a two-finger scroll gesture immediately and erroneously terminates the scroll.
## Steps to reproduce
0. Use the RMI4 driver
1. Use Clickfinger mod...## Summary
In clickfinger mode, dropping a thumb onto a buttonless touchpad while doing a two-finger scroll gesture immediately and erroneously terminates the scroll.
## Steps to reproduce
0. Use the RMI4 driver
1. Use Clickfinger mode
2. Start a two-finger scroll gesture on scrollable content
3. Without removing your two fingers from the touchpad, drop your thumb onto the bottom of pad
The scrolling immediately stops. It should not.
## libinput version you encountered the bug on
1.13.0
## Hardware information:
Late 2016 HP Spectre x360 with buttonless touchpad
## Other log output:
[libinput_record.txt](/uploads/cebb53559e3d07cf84938744c25e3c6d/libinput_record.txt)
[libinput_debug-events.txt](/uploads/8b7e502d3a9bd7d68e05c2f69abbec8a/libinput_debug-events.txt)