Problem: Seems like my palms are changing cursor position while I'm typing; more likely that I slightly pause while typing and a palm touch moves the cursor, but I'm not really sure. Also, sometimes the in-focus app changes as if I've clicked on another application. Hardware: Manufacturer: HP Product Name: HP Spectre Notebook SKU Number: W2K28UA#ABA Family: 103C_5335KV G=N L=CON B=HP S=SPT Software: Fedora 26, libinput 1.7.0 gnome-shell tap to click is enabled in preferences [chris@f26h ~]$ udevadm info /dev/input/event5 P: /devices/platform/i8042/serio1/input/input5/event5 N: input/event5 E: DEVNAME=/dev/input/event5 E: DEVPATH=/devices/platform/i8042/serio1/input/input5/event5 E: ID_BUS=i8042 E: ID_INPUT=1 E: ID_INPUT_HEIGHT_MM=51 E: ID_INPUT_TOUCHPAD=1 E: ID_INPUT_TOUCHPAD_INTEGRATION=internal E: ID_INPUT_WIDTH_MM=92 E: LIBINPUT_DEVICE_GROUP=11/2/7/1b1:isa0060/serio1 E: LIBINPUT_MODEL_SYNAPTICS_SERIAL_TOUCHPAD=1 E: MAJOR=13 E: MINOR=69 E: SUBSYSTEM=input E: USEC_INITIALIZED=3816082 $ sudo cat /sys/class/dmi/id/modalias dmi:bvnInsyde:bvrF.31:bd02/21/2017:svnHP:pnHPSpectreNotebook:pvrType1ProductConfigId:rvnHP:rn81A0:rvr48.54:cvnHP:ct10:cvrChassisVersion:
Created attachment 130677 [details] scroll.evemu Several hours worth of collection.
Created attachment 130678 [details] scroll2.evemu This is a short capture, about half minute.
(In reply to bugzilla from comment #1) > Several hours worth of collection. ran my pressure analysis scripts over it, the majority of pressure values fall into the 24-72 range. That's the range where we detect touches, so at least the issue isn't caused by the new pressure detection code. (In reply to bugzilla from comment #2) > This is a short capture, about half minute. what am I looking at here? I looked at the pure touch output and it looks like normal finger movement. Is this one of the accidental palm events?
scroll2.evemu contains 30s of normal finger only movements scroll.evemu contains a few hours of real world usage which no doubt includes stray palm touches
whoah, we're crossing streams here :) as said in the email to the list, I need a short recording to figure out the stray palm touches, I can't replay hours in realtime here to find it evemu-record has a --autorestart flag that creates a new file after X seconds of inactivity, I suggest using that to extract a short-enough recording
Created attachment 130720 [details] scroll3.evemu I was in Firefox typing an email, and suddenly a line above had part of its text replaced with what I was currently typing.
Created attachment 130738 [details] scroll.evemu six line deleted [chris@f26h evemutrackpad]$ sudo evemu-record --autorestart=3 /dev/input/event5 scroll.evemu During the attached recording, I was typing and suddenly six lines were selected and deleted. This was not intended. I assume stray palm touching triggered this selection and then it was the typing while selected that caused an overwrite.
Created attachment 130750 [details] scroll.evemu five lines deleted Similar to comment 7. Typing in firefox, when suddenly five lines are selected then overwritten by typing.
are there any normal finger movements in these recordings or just the palm touches?
There are probably valid finger touches as well as palm.
that makes it too hard to debug then. I can't see your finger in the recordings, only the data the touchpad detects so it's hard to tell which one is a misdetection and which one isn't. Please attach an event recording without any finger data, palm data only.
ping?
Created attachment 131416 [details] scroll.evemu.2017-05-19-10:14:27 This event did not result in any kind of visible problem, but happened while I was typing so I'd call it a "latent unintended event". I think the central problem is that while I'm typing, the trackpad can accept input and if it's a particularly erratic input it ends up selecting a bunch of text which I then type over.
Created attachment 131417 [details] scroll.evemu.2017-05-19 three recordings I have "sudo evemu-record --autostart=3 /dev/input/event5 scroll.evemu" running in a shell, and in another I have "watch ls -l" on the dir containing these files as they're created. When I'm typing, I have absolutely no ability to record in my mind what I'm doing mechanically with my fingers. Once these files appear, I try to replay history in my mind, did I intentionally use the trackpad? Did I have to move the cursor somewhere? I have literally no idea, it's simply not how my mind works. So these three events? Are they intentional? Or are they stray palm touches? I'm pretty sure they're stray palm touches because at the time I was typing I had no reason to move the cursor positioning. But I can't tell you with any certainty because I have zero mechanical memory of what I was doing; only the thought of what I was writing. It's probably the same thing as having a conversation with someone, and then asking them about the position of their tongue 5 seconds ago. They'd say, what? And then they'd have to think about what they were saying and what the position their tongue was in, and then they'd forget the whole thing. There's just no awareness of the mechanics as it's happening. And I have no ideas how to increase the certainty other than setting up a video camera to simultaneously record my hands typing as well as the screen with "watch ls -l" running, and match files to movements, but I have no way of doing that.
I understand that it's hard to remember what exactly you did, but it's even harder to debug something without that information. The attachments look like pretty normal touches and they *should* be filtered by the disable-while-typing code but it's unclear why not. Maybe run libinput-debug-events --verbose on the side and look for events of "event4 - palm: keyboard timeout". If they happen just before your touch and you're typing slow enough, then this can cause the effects you're seeing. I notice the pressure range is quite high, so this bug may be a candidate for bug 94236. Read through https://wayland.freedesktop.org/libinput/doc/latest/touchpad_pressure.html and try to gauge the pressure ranges for your finger during normal use and then again while you're typing. see if there's a reliable threshold where we can identify a palm.
Created attachment 131586 [details] normal tap pressure stats
Created attachment 131587 [details] palmtouch pressure stats
Created attachment 131588 [details] normal tap gnuplot screenshot
Created attachment 131589 [details] palmtouch gnuplot screenshot
Ok, there may be something we can do with the pressure, anything above ~75 can be interpreted as palm. That may help, though there are enough palm events with low pressure data so it's not a guarantee.
Additionally I've noticed the trackpad input is honored an impractically short time after a key is pressed. So if I'm typing, and just pause the slightest amount within a word, suddenly the trackpad is active and highlights a bunch of text. What's more realistic is what's the fastest practical time from key release to getting an index finger on the track pad. That time is maybe 0.7s. But for sure I see unprompted selection happening in between key strokes. So the "inactive trackpad while typing" rule is way too deferential to the trackpad.
fwiw, the timeout is currently 500ms (provided you pressed at least two non-modifier keys). Any touch that starts before the last key press is ignored, i.e. if you come to rest your palm on the keyboard while typing, that touch is ignored. Touches that start *after* the last key press however are released once the timeout expires, to avoid the touchpad not reacting.
Give the branch in bug 94236 a try please. You may need a custom threshold but hopefully that should help a lot with this bug.
ping? bug 94236 has been merged, so you can just test git master now
closing after silence for 2 months
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.