Disable touchpad while typing not working on KDE / Lenovo Thinkbook 16P G2 / Libinput

I can’t get the “disable touchpad while typing” setting to work on my laptop. I’ve checked the option from the touchpad gui panel. The option also seems to be enabled in libinput.

Here’s my system:

OS: Manjaro Linux x86_64 
██████████████████  ████████   Host: 20YM Lenovo ThinkBook 16p Gen 2 
████████            ████████   Kernel: 5.15.81-1-MANJARO 
████████  ████████  ████████   Uptime: 54 mins 
████████  ████████  ████████   Packages: 1457 (pacman), 14 (flatpak), 9 (snap) 
████████  ████████  ████████   Shell: bash 5.1.16 
████████  ████████  ████████   Resolution: 2560x1600, 1920x1080 
████████  ████████  ████████   DE: Plasma 5.26.4 
████████  ████████  ████████   WM: KWin 
████████  ████████  ████████   WM Theme: WhiteSur-dark_x1.25 
████████  ████████  ████████   Theme: [Plasma], Breeze [GTK2/3] 
████████  ████████  ████████   Icons: Tela-dark [Plasma], Tela-dark [GTK2/3] 
                               Terminal: konsole 
                               Terminal Font: Fira Code Medium 14 
                               CPU: AMD Ryzen 9 5900HX with Radeon Graphics (16) @ 3.300GHz 
                               GPU: AMD ATI Radeon Vega Series / Radeon Vega Mobile Series 
                               GPU: NVIDIA GeForce RTX 3060 Mobile / Max-Q 
                               Memory: 4236MiB / 31459MiB 

Here’s my libinput list-devices output (I’m also using logi external keyboard and mouse atm):

Device:           Video Bus
Kernel:           /dev/input/event3
Group:            1
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Video Bus
Kernel:           /dev/input/event4
Group:            1
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Lid Switch
Kernel:           /dev/input/event1
Group:            2
Seat:             seat0, default
Capabilities:     switch
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Power Button
Kernel:           /dev/input/event0
Group:            3
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Logitech K580
Kernel:           /dev/input/event6
Group:            4
Seat:             seat0, default
Capabilities:     keyboard pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Logitech Wireless Mouse
Kernel:           /dev/input/event10
Group:            5
Seat:             seat0, default
Capabilities:     pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   button
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           Integrated Camera: Integrated C
Kernel:           /dev/input/event25
Group:            6
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           ITE Tech. Inc. ITE Device(8296) Keyboard
Kernel:           /dev/input/event13
Group:            7
Seat:             seat0, default
Capabilities:     keyboard pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           ITE Tech. Inc. ITE Device(8296) Wireless Radio Control
Kernel:           /dev/input/event15
Group:            7
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Ideapad extra buttons
Kernel:           /dev/input/event8
Group:            8
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           MSFT0001:00 06CB:CE44 Mouse
Kernel:           /dev/input/event18
Group:            9
Seat:             seat0, default
Capabilities:     pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   *button
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           MSFT0001:00 06CB:CE44 Touchpad
Kernel:           /dev/input/event21
Group:            9
Seat:             seat0, default
Size:             117x72mm
Capabilities:     pointer gesture
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    *button-areas clickfinger 
Disable-w-typing: enabled
Disable-w-trackpointing: enabled
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           AT Translated Set 2 keyboard
Kernel:           /dev/input/event2
Group:            10
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

Device:           Logi K580 Keyboard
Kernel:           /dev/input/event11
Group:            11
Seat:             seat0, default
Capabilities:     keyboard pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

My touchpad seems to be:

Device:           MSFT0001:00 06CB:CE44 Touchpad
Kernel:           /dev/input/event21
Group:            9
Seat:             seat0, default
Size:             117x72mm
Capabilities:     pointer gesture
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    *button-areas clickfinger 
Disable-w-typing: enabled
Disable-w-trackpointing: enabled
Accel profiles:   flat *adaptive
Rotation:         n/a

And the keyboard:

Device:           AT Translated Set 2 keyboard
Kernel:           /dev/input/event2
Group:            10
Seat:             seat0, default
Capabilities:     keyboard 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    n/a
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

I also created a /etc/libinput/local-overrides.quirks file and tried with different options, such as:

[Keyboard Override]
MatchName=AT Translated Set 2 keyboard
AttrKeyboardIntegration=internal

… as suggested on reddit.

But couldn’t get any results.

I’ve also tried installing synaptics touchpad drivers and using commands such as:

syndaemon -i 0.5 -t -K -R

But it didn’t work. I’ve since rolled back and don’t have synaptics anymore.

What is there left to try? Should I try tro create a script that manually disables the touchpad for a period of time every time a key is pressed? Could there be something I have missed? I would be grateful for any thoughts on this.

Thank you

So I finally got it to work. I figured out that my keyboard as seen from libinput output was actually this:

Device:           ITE Tech. Inc. ITE Device(8296) Keyboard
Kernel:           /dev/input/event17
Group:            7
Seat:             seat0, default
Capabilities:     keyboard pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      n/a
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   none
Click methods:    none
Disable-w-typing: n/a
Disable-w-trackpointing: n/a
Accel profiles:   n/a
Rotation:         n/a

I couldn’t get any results from sudo libinput quirks list /dev/input/event17 which hinted that the keyboard actually was not recognized as “internal”. The keyboard and touchpad could not be paired. So I created a quirks file /etc/libinput/local-overrides.quirks:

[Serial Keyboards]
MatchUdevType=keyboard
MatchName=ITE Tech. Inc. ITE Device(8296) Keyboard
AttrKeyboardIntegration=internal

… with MatchName of my keyboard. Now I could see results of sudo libinput quirks list /dev/input/event17 :

AttrKeyboardIntegration=internal

And after a logout + login, “disable while typing” finally worked!

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.