Input debugging on plasma

Hi,

I’m experiencing a potential, difficult to identify, regression in my Lenovo Thinkpad L14 Gen 1, where the serial keyboard and in most of cases also the touchpad, of the laptop doesn’t work anymore in my plasma wayland session. I have reported the issue both in libinput[1], and the kernel mailing list[2], and for now, the only idea that come up is to check what plasma reports about the devices, since the libinput project says it might be a kernel regression, but the kernel output shows and detect the hardware properly, and it makes it work on the ttys, it only stops working in the plasma session. So my question is, how can I get output related to the input device detection in Qt and plasma wayland that I can send to these projects to try to find out what is the issue?

The system is based in Gentoo, and plasma 5.27 currently, though the issue has been around for a big while so I have seen it in several former versions of plasma.

[1] ThinkPad L14 Gen 1 serial keyboard not configured on latest kernels (#816) · Issues · libinput / libinput · GitLab
[2] atkbd input regression

Thanks!

Does this also happen in X11?
If yes, can you install another small wm (like Icewm, openbox etc…) to try if this issue also happens there?

Very small chance of success, but you might want to try creating a new user (doubt this will help, but maybe worth a shot)

Do you use systemd or do you know how to access log files on your system?

Any chance you can use a stock Kernel instead of a self built one on Gentoo? (Sorry I have no idea about Gentoo).

Have you asked on the Gentoo forums for support? If yes can you please link it here also.

I’m afraid X11 is not usable since I don’t build the system with it, but I can tell I stopped using sddm, which only very recently added wayland support, so I was using the X11 version, and the reason was this regression, so the problem may be reproducible in X11 as well. My only chances to see something on this end is to boot the system from some live kubuntu or similar and see if the input works.

Regarding to the wm, that is a possibility that I’ll certainly explore, I’ll get back to it.

Gentoo doesn’t ship systemd by default, so no journalctl available, as I see on the troubleshooting pages of the kde community. Anything I see in my logs doesn’t seem to point to the input initialization, but the initialization of the drm backend, etc.

There is binary kernels in Gentoo, so that can be another topic to explore when I got more cycles for this problem, as well as asking to the gentoo forums, thanks for the suggestions!

Something you can do is:

  • Open KRunner
  • Type ‘kwin’
  • Click on “Open KWin debug console”
  • Go to the “Input devices” tab

The devices you see there should match the ones reported by “libinput list-devices”. If your device is missing there that suggests an issue in KWin, but I think that’s unlikely.

There’s also the “Input Events” tab where you should see incoming mouse/keyboard events if you type/use the touchpad. If you don’t see any there that suggests KWin is not receiving any from libinput

You can also use ‘wev’ to test input event delivery to applications. While hovering over the window any input events are printed to the terminal. If that doesn’t happen then either KWin is not delivering any input events, or it doesn’t receive any in the first

2 Likes

Hi,

I’m away from the problematic keyboard, but I’ll revisit this next week. Thanks for the help!

Hi again, and thanks for your patience. I got back to this topic and this is how the input devices looks like in the kwing debug console:

While in the same kernel, opening konsole, and login as root, I run evtest succesfully, and see the events accordingly, here is the output:

# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      AT Translated Set 2 keyboard
/dev/input/event1:      Power Button
/dev/input/event10:     SEM HCT Keyboard Consumer Control
/dev/input/event11:     SEM HCT Keyboard System Control
/dev/input/event12:     Logitech USB Optical Mouse
/dev/input/event2:      Lid Switch
/dev/input/event3:      Sleep Button
/dev/input/event4:      Power Button
/dev/input/event5:      Video Bus
/dev/input/event6:      ThinkPad Extra Buttons
/dev/input/event7:      SynPS/2 Synaptics TouchPad
/dev/input/event8:      TPPS/2 Elan TrackPoint
/dev/input/event9:      SEM HCT Keyboard
Select the device event number [0-12]: 0
Input driver version is 1.0.1
Input device ID: bus 0x11 vendor 0x1 product 0x1 version 0xab54
Input device name: "AT Translated Set 2 keyboard"
Supported events:
 Event type 0 (EV_SYN)
 Event type 1 (EV_KEY)
   Event code 1 (KEY_ESC)
   Event code 2 (KEY_1)
   Event code 3 (KEY_2)
   Event code 4 (KEY_3)
   Event code 5 (KEY_4)
   Event code 6 (KEY_5)
   Event code 7 (KEY_6)
   Event code 8 (KEY_7)
   Event code 9 (KEY_8)
   Event code 10 (KEY_9)
   Event code 11 (KEY_0)
   Event code 12 (KEY_MINUS)
   Event code 13 (KEY_EQUAL)
   Event code 14 (KEY_BACKSPACE)
   Event code 15 (KEY_TAB)
   Event code 16 (KEY_Q)
   Event code 17 (KEY_W)
   Event code 18 (KEY_E)
   Event code 19 (KEY_R)
   Event code 20 (KEY_T)
   Event code 21 (KEY_Y)
   Event code 22 (KEY_U)
   Event code 23 (KEY_I)
   Event code 24 (KEY_O)
   Event code 25 (KEY_P)
   Event code 26 (KEY_LEFTBRACE)
   Event code 27 (KEY_RIGHTBRACE)
   Event code 28 (KEY_ENTER)
   Event code 29 (KEY_LEFTCTRL)
   Event code 30 (KEY_A)
   Event code 31 (KEY_S)
   Event code 32 (KEY_D)
   Event code 33 (KEY_F)
   Event code 34 (KEY_G)
   Event code 35 (KEY_H)
   Event code 36 (KEY_J)
   Event code 37 (KEY_K)
   Event code 38 (KEY_L)
   Event code 39 (KEY_SEMICOLON)
   Event code 40 (KEY_APOSTROPHE)
   Event code 41 (KEY_GRAVE)
   Event code 42 (KEY_LEFTSHIFT)
   Event code 43 (KEY_BACKSLASH)
   Event code 44 (KEY_Z)
   Event code 45 (KEY_X)
   Event code 46 (KEY_C)
   Event code 47 (KEY_V)
   Event code 48 (KEY_B)
   Event code 49 (KEY_N)
   Event code 50 (KEY_M)
   Event code 51 (KEY_COMMA)
   Event code 52 (KEY_DOT)
   Event code 53 (KEY_SLASH)
   Event code 54 (KEY_RIGHTSHIFT)
   Event code 55 (KEY_KPASTERISK)
   Event code 56 (KEY_LEFTALT)
   Event code 57 (KEY_SPACE)
   Event code 58 (KEY_CAPSLOCK)
   Event code 59 (KEY_F1)
   Event code 60 (KEY_F2)
   Event code 61 (KEY_F3)
   Event code 62 (KEY_F4)
   Event code 63 (KEY_F5)
   Event code 64 (KEY_F6)
   Event code 65 (KEY_F7)
   Event code 66 (KEY_F8)
   Event code 67 (KEY_F9)
   Event code 68 (KEY_F10)
   Event code 69 (KEY_NUMLOCK)
   Event code 70 (KEY_SCROLLLOCK)
   Event code 71 (KEY_KP7)
   Event code 72 (KEY_KP8)
   Event code 73 (KEY_KP9)
   Event code 74 (KEY_KPMINUS)
   Event code 75 (KEY_KP4)
   Event code 76 (KEY_KP5)
   Event code 77 (KEY_KP6)
   Event code 78 (KEY_KPPLUS)
   Event code 79 (KEY_KP1)
   Event code 80 (KEY_KP2)
   Event code 81 (KEY_KP3)
   Event code 82 (KEY_KP0)
   Event code 83 (KEY_KPDOT)
   Event code 85 (KEY_ZENKAKUHANKAKU)
   Event code 86 (KEY_102ND)
   Event code 87 (KEY_F11)
   Event code 88 (KEY_F12)
   Event code 89 (KEY_RO)
   Event code 90 (KEY_KATAKANA)
   Event code 91 (KEY_HIRAGANA)
   Event code 92 (KEY_HENKAN)
   Event code 93 (KEY_KATAKANAHIRAGANA)
   Event code 94 (KEY_MUHENKAN)
   Event code 95 (KEY_KPJPCOMMA)
   Event code 96 (KEY_KPENTER)
   Event code 97 (KEY_RIGHTCTRL)
   Event code 98 (KEY_KPSLASH)
   Event code 99 (KEY_SYSRQ)
   Event code 100 (KEY_RIGHTALT)
   Event code 102 (KEY_HOME)
   Event code 103 (KEY_UP)
   Event code 104 (KEY_PAGEUP)
   Event code 105 (KEY_LEFT)
   Event code 106 (KEY_RIGHT)
   Event code 107 (KEY_END)
   Event code 108 (KEY_DOWN)
   Event code 109 (KEY_PAGEDOWN)
   Event code 110 (KEY_INSERT)
   Event code 111 (KEY_DELETE)
   Event code 112 (KEY_MACRO)
   Event code 113 (KEY_MUTE)
   Event code 114 (KEY_VOLUMEDOWN)
   Event code 115 (KEY_VOLUMEUP)
   Event code 116 (KEY_POWER)
   Event code 117 (KEY_KPEQUAL)
   Event code 118 (KEY_KPPLUSMINUS)
   Event code 119 (KEY_PAUSE)
   Event code 121 (KEY_KPCOMMA)
   Event code 122 (KEY_HANGUEL)
   Event code 123 (KEY_HANJA)
   Event code 124 (KEY_YEN)
   Event code 125 (KEY_LEFTMETA)
   Event code 126 (KEY_RIGHTMETA)
   Event code 127 (KEY_COMPOSE)
   Event code 128 (KEY_STOP)
   Event code 140 (KEY_CALC)
   Event code 142 (KEY_SLEEP)
   Event code 143 (KEY_WAKEUP)
   Event code 155 (KEY_MAIL)
   Event code 156 (KEY_BOOKMARKS)
   Event code 157 (KEY_COMPUTER)
   Event code 158 (KEY_BACK)
   Event code 159 (KEY_FORWARD)
   Event code 163 (KEY_NEXTSONG)
   Event code 164 (KEY_PLAYPAUSE)
   Event code 165 (KEY_PREVIOUSSONG)
   Event code 166 (KEY_STOPCD)
   Event code 172 (KEY_HOMEPAGE)
   Event code 173 (KEY_REFRESH)
   Event code 183 (KEY_F13)
   Event code 184 (KEY_F14)
   Event code 185 (KEY_F15)
   Event code 217 (KEY_SEARCH)
   Event code 226 (KEY_MEDIA)
 Event type 4 (EV_MSC)
   Event code 4 (MSC_SCAN)
 Event type 17 (EV_LED)
   Event code 0 (LED_NUML) state 0
   Event code 1 (LED_CAPSL) state 0
   Event code 2 (LED_SCROLLL) state 0
Key repeat handling:
 Repeat type 20 (EV_REP)
   Repeat code 0 (REP_DELAY)
     Value    250
   Repeat code 1 (REP_PERIOD)
     Value     33
Properties:
Testing ... (interrupt to exit)
Event: time 1692711251.869767, type 4 (EV_MSC), code 4 (MSC_SCAN), value 10
Event: time 1692711251.869767, type 1 (EV_KEY), code 16 (KEY_Q), value 1
Event: time 1692711251.869767, -------------- SYN_REPORT ------------
Event: time 1692711251.983970, type 4 (EV_MSC), code 4 (MSC_SCAN), value 10
Event: time 1692711251.983970, type 1 (EV_KEY), code 16 (KEY_Q), value 0
Event: time 1692711251.983970, -------------- SYN_REPORT ------------
Event: time 1692711252.240746, type 4 (EV_MSC), code 4 (MSC_SCAN), value 11
Event: time 1692711252.240746, type 1 (EV_KEY), code 17 (KEY_W), value 1
Event: time 1692711252.240746, -------------- SYN_REPORT ------------
Event: time 1692711252.355288, type 4 (EV_MSC), code 4 (MSC_SCAN), value 11
Event: time 1692711252.355288, type 1 (EV_KEY), code 17 (KEY_W), value 0
Event: time 1692711252.355288, -------------- SYN_REPORT ------------
Event: time 1692711252.628792, type 4 (EV_MSC), code 4 (MSC_SCAN), value 12
Event: time 1692711252.628792, type 1 (EV_KEY), code 18 (KEY_E), value 1
Event: time 1692711252.628792, -------------- SYN_REPORT ------------
Event: time 1692711252.760865, type 4 (EV_MSC), code 4 (MSC_SCAN), value 12
Event: time 1692711252.760865, type 1 (EV_KEY), code 18 (KEY_E), value 0
Event: time 1692711252.760865, -------------- SYN_REPORT ------------
Event: time 1692711253.559929, type 4 (EV_MSC), code 4 (MSC_SCAN), value 13
Event: time 1692711253.559929, type 1 (EV_KEY), code 19 (KEY_R), value 1
Event: time 1692711253.559929, -------------- SYN_REPORT ------------
Event: time 1692711253.656378, type 4 (EV_MSC), code 4 (MSC_SCAN), value 13
Event: time 1692711253.656378, type 1 (EV_KEY), code 19 (KEY_R), value 0
Event: time 1692711253.656378, -------------- SYN_REPORT ------------
Event: time 1692711253.874306, type 4 (EV_MSC), code 4 (MSC_SCAN), value 14
Event: time 1692711253.874306, type 1 (EV_KEY), code 20 (KEY_T), value 1
Event: time 1692711253.874306, -------------- SYN_REPORT ------------
Event: time 1692711253.979913, type 4 (EV_MSC), code 4 (MSC_SCAN), value 14
Event: time 1692711253.979913, type 1 (EV_KEY), code 20 (KEY_T), value 0
Event: time 1692711253.979913, -------------- SYN_REPORT ------------
Event: time 1692711254.424999, type 4 (EV_MSC), code 4 (MSC_SCAN), value 15
Event: time 1692711254.424999, type 1 (EV_KEY), code 21 (KEY_Y), value 1
Event: time 1692711254.424999, -------------- SYN_REPORT ------------
Event: time 1692711254.566017, type 4 (EV_MSC), code 4 (MSC_SCAN), value 15
Event: time 1692711254.566017, type 1 (EV_KEY), code 21 (KEY_Y), value 0
Event: time 1692711254.566017, -------------- SYN_REPORT ------------
Event: time 1692711268.874225, type 4 (EV_MSC), code 4 (MSC_SCAN), value b7
Event: time 1692711268.874225, type 1 (EV_KEY), code 99 (KEY_SYSRQ), value 1
Event: time 1692711268.874225, -------------- SYN_REPORT ------------
Event: time 1692711268.943059, type 4 (EV_MSC), code 4 (MSC_SCAN), value b7
Event: time 1692711268.943059, type 1 (EV_KEY), code 99 (KEY_SYSRQ), value 0

Thanks!