Summary: | Delay after resting thumb | ||
---|---|---|---|
Product: | Wayland | Reporter: | Joe Paley <joe.paley> |
Component: | libinput | Assignee: | Wayland bug list <wayland-bugs> |
Status: | RESOLVED NOTABUG | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | peter.hutterer |
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
evemu events
lib-input events verbose Here is another recording Output from record session events verbose output |
Description
Joe Paley
2016-12-18 16:38:55 UTC
I rest my thumb on the trackpad and move the pointer with my index finger. When I do this, there is typically a ~1 second delay before the pointer starts moving. After the delay, everything works well. On a Dell XPS 13 running Mint 18 record the interaction with evemu-record please and attach the output here. that way I can replay it and see what's happening. sudo libinput-debug-events --verbose may be helpful too to identify what's going on. Created attachment 128530 [details]
evemu events
Hard to tell if this captured it since the mouse wasn't moving while I was recording, but I believe it did because when I play it back it starts by interpreting it as a two-finger scroll and then just moves the pointer (without me lifting my thumb).
Created attachment 128531 [details]
lib-input events verbose
Not the same session as the evemu capture.
(In reply to Joe Paley from comment #4) > Created attachment 128530 [details] > evemu events sorry, I can't replay this, you cut off the device description at the top which I need to recreate the device. Please attach the full log. Created attachment 128619 [details]
Here is another recording
I made this recording via:
sudo evemu-record /dev/input/event15 evemu2.txt > ~/record.txt
Created attachment 128620 [details]
Output from record session
sigh, that was a bug we fixed over a year ago but apparently mint ships a 2 year old version of evemu. Please grab evemu from git, thanks. http://cgit.freedesktop.org/evemu/ ok, reconstructed the file here and the basic problem is: our thumb detection currently only works on the very bottom of the touchpad, see https://wayland.freedesktop.org/libinput/doc/latest/palm_detection.html From what I can tell, your thumb rests in the center of the touchpad, about 1/3 up from the bottom. So it's detected as normal finger and thus the motion becomes a two-finger scroll motion. Indeed, that's what I see in libinput-debug-events (run with --verbose for more info). I'm assuming the delay is thus caused by these scroll events, unless you have something scrollable under the cursor it will appear as a motion delay. In this recording, the pointer movement doesn't start until you lift one finger at the 0.541628 event. Also note that your touchpad support pressure so we really can't tell whether a finger is a thumb or a normal finger. All I can recommend here is that you either only place the thumb in the software button area at the bottom of the touchpad or not rest your thumb on the touchpad, sorry. Thank you for taking a look, Peter. I also have a mac laptop running OS X which handles this case flawlessly. No matter where I rest my thumb, it is ignored. Can you using the size of the finger (as well as relative location) to determine if it is a thumb? Playing around with this on my mac laptop: If I put my thumb down and move it, it moves the cursor Then add my index finger on top, index finger moves the cursor, moving my thumb now does nothing Doesn't matter where on the touch pad I do this and it works correctly. I will note that if I turn the laptop upside down this does not work (my index finger must be above the thumb). (In reply to Joe Paley from comment #11) > I also have a mac laptop running OS X which handles this case flawlessly. > No matter where I rest my thumb, it is ignored. Can you using the size of > the finger (as well as relative location) to determine if it is a thumb? on the mac we could, but not on the XPS. the apple touchpad provides a lot more information and I'm assuming they use pressure to detect thumbs. Your touchpad here merely provides x and y coordinates, nothing more. I don't think it's pressure. On the mac I can rest my thumb lightly, and it works. Conversely I can press hard with my index finger and use my middle finger above it and it always treats my index as a finger (does not ignore). However if I lay down the index, it's ignored like a thumb. However if the trackpad just gives you a single x/y point, nothing you can do. Using my XPS again, I actually have the exact same issue even if I have my thumb at the bottom of the trackpad The bottom area where we can detect palm is really small because in the upper area we too rely on pressure (see the graphic in the link above. If you have software buttons enabled however, any finger resting in the software button area should be ignored. Running libinput-debug-events --verbose should tell you more about the state machines and how they trigger. Created attachment 128643 [details]
events verbose output
This is a case where I rested my thumb at the bottom of the touch pad, moved the index finger, moved my index (nothing happened), then a bit later the pointer moved.
At some point the thumb state toggles, which is likely where my index finger is moving the pointer. However I'm keeping my thumb in the same place the whole time. What is trigger the eventual recognition of my thumb, and how is that different from when I originally put my thumb down?
hmm, hard to say without the matching evemu recording, the debugging output isn't as useful as it could be. what I can read out of it though: * the first finger seems to be outside of the button area and is not a thumb * there is a pinch gesture triggered, at 1.40s into the recording the thumb is tagged as thumb and the gesture is cancelled. because there is now a single finger it continues as motion. I suspect nothing listens to the pinch gesture, that's why it looks like a delay. So the main question is why the thumb is detected as is, but without an evemu recording of this triggering I can't tell, sorry. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.