Bug 105872

Summary: Extra keypresses and long lags before mouse moves
Product: Wayland Reporter: Paulie <paulie4>
Component: libinputAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED NOTOURBUG QA Contact:
Severity: normal    
Priority: medium CC: peter.hutterer
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Paulie 2018-04-03 23:55:21 UTC
I'm on Arch Linux using libinput version 1.10.3.

The mouse/alt-tab sometimes has a long lag before registering the move/alt-tab keypress, and sometimes there are extra keypresses registered, when I've only pressed a key a single time. I don't know the exact number, but I'm pretty sure I've been typing a word and a letter that should have been a single character gets turned into about 6 repeated characters. The worst is when extra CTRL-d's or extra Escape keys are sent, and multiple things close, when I only meant to close one. There's usually a lag before the keypresses are registered in Gnome.

Unfortunately, I do not know how to consistently reproduce it, but it seems to usually only happen after the mouse cursor has disappeared when typing, since the cursor does not always hide when I'm typing. Also, when it's in the bad state, when I press CTRL-Backspace, it only does one backspace, but if I press CTRL-PageUp/Down, it repeats the PageUp/Down more than once.

This is some debug output where I pressed "sdf", waited a little while (which produced a "event13 - palm: keyboard timeout" debug message), then pressed CTRL and PAGEUP on time, but two PAGEUP presses were registered in Gnome, which is why I had to press CTRL-PAGEDOWN twice to go back to my original tab in Terminal.

$ sudo libinput debug-events --verbose
event2  - Power Button: is tagged by udev as: Keyboard
event2  - Power Button: device is a keyboard
event4  - Asus Wireless Radio Control: is tagged by udev as: Keyboard
event4  - Asus Wireless Radio Control: device is a keyboard
event9  - Video Bus: is tagged by udev as: Keyboard
event9  - Video Bus: device is a keyboard
event8  - Video Bus: is tagged by udev as: Keyboard
event8  - Video Bus: device is a keyboard
event0  - Lid Switch: is tagged by udev as: Switch
event0  - Lid Switch: device is a switch device
event1  - Sleep Button: is tagged by udev as: Keyboard
event1  - Sleep Button: device is a keyboard
event7  - ASUS USB2.0 Webcam: ASUS USB2.0: is tagged by udev as: Keyboard
event7  - ASUS USB2.0 Webcam: ASUS USB2.0: device is a keyboard
event10 - HDA Digital PCBeep: not tagged as supported input device
event10 - not using input device '/dev/input/event10'
event11 - HDA Intel PCH Mic: is tagged by udev as: Switch
event12 - HDA Intel PCH Headphone: is tagged by udev as: Switch
event6  - Asus WMI hotkeys: is tagged by udev as: Keyboard
event6  - Asus WMI hotkeys: device is a keyboard
event3  - AT Translated Set 2 keyboard: is tagged by udev as: Keyboard
event3  - AT Translated Set 2 keyboard: device is a keyboard
event0  - lid: keyboard paired with Lid Switch<->AT Translated Set 2 keyboard
event13 - ETPS/2 Elantech Touchpad: is tagged by udev as: Touchpad
event13 - using pressure-based touch detection (8:10)
event13 - palm: pressure threshold is 130
event13 - thumb: enabled thumb detection (+pressure)
event13 - ETPS/2 Elantech Touchpad: device is a touchpad
event13 - lid_switch: activated for ETPS/2 Elantech Touchpad<->Lid Switch
event13 - palm: dwt activated with ETPS/2 Elantech Touchpad<->AT Translated Set 2 keyboard
event5  - PC Speaker: not tagged as supported input device
event5  - not using input device '/dev/input/event5'
-event2   DEVICE_ADDED     Power Button                      seat0 default group1  cap:k
-event4   DEVICE_ADDED     Asus Wireless Radio Control       seat0 default group2  cap:k
-event9   DEVICE_ADDED     Video Bus                         seat0 default group3  cap:k
-event8   DEVICE_ADDED     Video Bus                         seat0 default group3  cap:k
-event0   DEVICE_ADDED     Lid Switch                        seat0 default group4  cap:S
-event1   DEVICE_ADDED     Sleep Button                      seat0 default group5  cap:k
-event7   DEVICE_ADDED     ASUS USB2.0 Webcam: ASUS USB2.0   seat0 default group6  cap:k
-event11  DEVICE_ADDED     HDA Intel PCH Mic                 seat0 default group7  cap:
-event12  DEVICE_ADDED     HDA Intel PCH Headphone           seat0 default group7  cap:
-event6   DEVICE_ADDED     Asus WMI hotkeys                  seat0 default group8  cap:k
-event3   DEVICE_ADDED     AT Translated Set 2 keyboard      seat0 default group9  cap:k
-event13  DEVICE_ADDED     ETPS/2 Elantech Touchpad          seat0 default group10 cap:pg  size 110x66mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on
-event3   KEYBOARD_KEY      +1.94s	*** (-1) pressed
s event3   KEYBOARD_KEY      +1.98s	*** (-1) pressed
d event3   KEYBOARD_KEY      +2.04s	*** (-1) pressed
f event3   KEYBOARD_KEY      +2.09s	*** (-1) released
 event3   KEYBOARD_KEY      +2.13s	*** (-1) released
 event3   KEYBOARD_KEY      +2.16s	*** (-1) released
event13 - palm: keyboard timeout
 event3   KEYBOARD_KEY      +4.65s	*** (-1) pressed
 event3   KEYBOARD_KEY      +6.74s	KEY_PAGEUP (104) pressed
 event3   KEYBOARD_KEY      +6.81s	KEY_PAGEUP (104) released
 event3   KEYBOARD_KEY      +7.81s	*** (-1) released
 event3   KEYBOARD_KEY     +12.62s	*** (-1) pressed
 event3   KEYBOARD_KEY     +12.78s	KEY_PAGEDOWN (109) pressed
 event3   KEYBOARD_KEY     +12.87s	KEY_PAGEDOWN (109) released
 event3   KEYBOARD_KEY     +13.00s	KEY_PAGEDOWN (109) pressed
 event3   KEYBOARD_KEY     +13.08s	KEY_PAGEDOWN (109) released
 event3   KEYBOARD_KEY     +13.20s	*** (-1) released
 event3   KEYBOARD_KEY     +14.99s	*** (-1) pressed
 event3   KEYBOARD_KEY     +15.13s	*** (-1) pressed
^C
event2  - Power Button: device removed
event4  - Asus Wireless Radio Control: device removed
event9  - Video Bus: device removed
event8  - Video Bus: device removed
event0  - Lid Switch: device removed
event1  - Sleep Button: device removed
event7  - ASUS USB2.0 Webcam: ASUS USB2.0: device removed
event11 - HDA Intel PCH Mic: device removed
event12 - HDA Intel PCH Headphone: device removed
event6  - Asus WMI hotkeys: device removed
event3  - AT Translated Set 2 keyboard: device removed
event13 - ETPS/2 Elantech Touchpad: device removed


Unfortunately, the output looks the same when it's in a bad state versus when it's in a working state. This debug output shows two instances where it was in a bad state (with the double page downs to get back to the same tab), and then shows a good state, but I don't see any differences between the three of them.

### The top and bottom parts are identical, so only sending the middle
-event3   KEYBOARD_KEY      +4.55s	*** (-1) pressed
s event3   KEYBOARD_KEY      +4.56s	*** (-1) pressed
d event3   KEYBOARD_KEY      +4.62s	*** (-1) pressed
f event3   KEYBOARD_KEY      +4.67s	*** (-1) released
 event3   KEYBOARD_KEY      +4.71s	*** (-1) released
 event3   KEYBOARD_KEY      +4.74s	*** (-1) released
event13 - palm: keyboard timeout
 event3   KEYBOARD_KEY      +6.35s	*** (-1) pressed
 event3   KEYBOARD_KEY      +7.41s	KEY_PAGEUP (104) pressed
 event3   KEYBOARD_KEY      +7.47s	KEY_PAGEUP (104) released
 event3   KEYBOARD_KEY      +8.87s	KEY_PAGEDOWN (109) pressed
 event3   KEYBOARD_KEY      +8.97s	KEY_PAGEDOWN (109) released
 event3   KEYBOARD_KEY      +9.12s	KEY_PAGEDOWN (109) pressed
 event3   KEYBOARD_KEY      +9.23s	KEY_PAGEDOWN (109) released
 event3   KEYBOARD_KEY      +9.40s	*** (-1) released
 event3   KEYBOARD_KEY     +12.16s	*** (-1) pressed
s event3   KEYBOARD_KEY     +12.19s	*** (-1) pressed
d event3   KEYBOARD_KEY     +12.23s	*** (-1) pressed
f event3   KEYBOARD_KEY     +12.29s	*** (-1) released
 event3   KEYBOARD_KEY     +12.31s	*** (-1) released
 event3   KEYBOARD_KEY     +12.35s	*** (-1) released
event13 - palm: keyboard timeout
 event3   KEYBOARD_KEY     +14.53s	*** (-1) pressed
 event3   KEYBOARD_KEY     +14.81s	KEY_PAGEUP (104) pressed
 event3   KEYBOARD_KEY     +14.90s	KEY_PAGEUP (104) released
 event3   KEYBOARD_KEY     +15.79s	KEY_PAGEDOWN (109) pressed
 event3   KEYBOARD_KEY     +15.88s	KEY_PAGEDOWN (109) released
 event3   KEYBOARD_KEY     +16.11s	KEY_PAGEDOWN (109) pressed
 event3   KEYBOARD_KEY     +16.22s	KEY_PAGEDOWN (109) released
 event3   KEYBOARD_KEY     +16.34s	*** (-1) released
 event3   KEYBOARD_KEY     +18.36s	*** (-1) pressed
s event3   KEYBOARD_KEY     +18.41s	*** (-1) pressed
d event3   KEYBOARD_KEY     +18.44s	*** (-1) pressed
f event3   KEYBOARD_KEY     +18.51s	*** (-1) released
 event3   KEYBOARD_KEY     +18.54s	*** (-1) released
 event3   KEYBOARD_KEY     +18.56s	*** (-1) released
event13 - palm: keyboard timeout
 event3   KEYBOARD_KEY     +20.19s	*** (-1) pressed
 event3   KEYBOARD_KEY     +20.40s	KEY_PAGEUP (104) pressed
 event3   KEYBOARD_KEY     +20.49s	KEY_PAGEUP (104) released
 event3   KEYBOARD_KEY     +20.85s	KEY_PAGEDOWN (109) pressed
 event3   KEYBOARD_KEY     +20.95s	KEY_PAGEDOWN (109) released
 event3   KEYBOARD_KEY     +21.25s	*** (-1) released
 event3   KEYBOARD_KEY     +22.82s	*** (-1) pressed
 event3   KEYBOARD_KEY     +22.94s	*** (-1) pressed
Comment 1 Paulie 2018-04-04 00:00:16 UTC
I wonder if since the debug output of libinput looks correct, that maybe the problem is not in libinput but in Gnome or some interface between Gnome and libinput.
Comment 2 Peter Hutterer 2018-04-04 02:53:42 UTC
Most likely this one: https://bugzilla.gnome.org/show_bug.cgi?id=745032

Please re-open if it's a different issue please.

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.