Disable touchpad while typing does not work in Wayland (wayfire) if keyd is running
but works OK if I stop keyd.
Could be that I just miss some config for it bit I am really lost here.
All I use keyd for is remapping this ugly useless M$ copilot key back to Ctrl, so my config is just one-liner
leftshift+leftmeta = overload(control, esc)
Can you post the output of keyd monitor?
keyd monitor device added: 0000:0006:bdb72f48 Video Bus (/dev/input/event2) device added: 0000:0000:ac47c1e0 Huawei WMI hotkeys (/dev/input/event3) device added: 35cc:0104:20c964a9 TOPS0102:00 35CC:0104 Consumer Control (/dev/input/event4) device added: 35cc:0104:0ada5ecb TOPS0102:00 35CC:0104 Touchpad (/dev/input/event5) device added: 2808:5662:a96b136c FTSC1000:00 2808:5662 (/dev/input/event6) device added: 0001:0001:a38e6885 AT Translated Set 2 keyboard (/dev/input/event8) device added: 0fac:0ade:efba1ddf keyd virtual keyboard (/dev/input/event13) device added: 0fac:1ade:d2b36ae6 keyd virtual pointer (/dev/input/event14) keyd virtual keyboard 0fac:0ade:efba1ddf enter up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb enter up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb enter up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb enter up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb enter up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb kpminus down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb numlock down keyd virtual keyboard 0fac:0ade:efba1ddf leftshift down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb leftshift down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb leftshift down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb leftshift down keyd virtual keyboard 0fac:0ade:efba1ddf leftshift up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb leftshift up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb leftshift up keyd virtual keyboard 0fac:0ade:efba1ddf j down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb j down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb j down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb j down keyd virtual keyboard 0fac:0ade:efba1ddf j up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb j up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb j up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb j up keyd virtual keyboard 0fac:0ade:efba1ddf h down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb h down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb h down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb h down keyd virtual keyboard 0fac:0ade:efba1ddf n down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb n down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb n down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb n down TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb n down keyd virtual keyboard 0fac:0ade:efba1ddf n up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb n up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb n up keyd virtual keyboard 0fac:0ade:efba1ddf h up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb h up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb h up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb kpminus up TOPS0102:00 35CC:0104 Touchpad 35cc:0104:0ada5ecb numlock up keyd virtual keyboard 0fac:0ade:efba1ddf t down keyd virtual keyboard 0fac:0ade:efba1ddf h down keyd virtual keyboard 0fac:0ade:efba1ddf n down keyd virtual keyboard 0fac:0ade:efba1ddf h up
Pressing the buttons and moving the cirsor with touchpad at the same time. If I kill keyd - typing on keyboard disable touchpad for a while - it activates after some delay when the last key released
Having the same issue using sway. The quirks workaround does not seem to resolve the issue either.
user@home ~> sudo keyd reload; keyd monitor
device added: 0000:0006:bdb72f48 Video Bus (/dev/input/event3)
device added: 0000:0000:52563095 Intel HID events (/dev/input/event4)
device added: 0001:0001:d651c513 AT Translated Set 2 keyboard (/dev/input/event6)
device added: 0000:0000:afb86503 Dell WMI hotkeys (/dev/input/event8)
device added: 0002:0001:e8603d8f PS/2 Generic Mouse (/dev/input/event9)
device added: 06cb:ce65:9ef2211a DELL0A36:00 06CB:CE65 Mouse (/dev/input/event12)
device added: 06cb:ce65:d11dbfc8 DELL0A36:00 06CB:CE65 Touchpad (/dev/input/event13)
device added: 0fac:0ade:efba1ddf keyd virtual keyboard (/dev/input/event10)
device added: 0fac:1ade:d2b36ae6 keyd virtual pointer (/dev/input/event11)
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 (null) up
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 (null) up
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 (null) up
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 kpminus down
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 numlock down
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 kpminus up
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 numlock up
keyd virtual keyboard 0fac:0ade:efba1ddf a down
keyd virtual keyboard 0fac:0ade:efba1ddf s down
keyd virtual keyboard 0fac:0ade:efba1ddf a up
keyd virtual keyboard 0fac:0ade:efba1ddf d down
keyd virtual keyboard 0fac:0ade:efba1ddf s up
keyd virtual keyboard 0fac:0ade:efba1ddf f down
keyd virtual keyboard 0fac:0ade:efba1ddf d up
keyd virtual keyboard 0fac:0ade:efba1ddf f up
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 f up
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 f up
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 f up
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 kpminus down
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 numlock down
keyd virtual keyboard 0fac:0ade:efba1ddf s down
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 s down
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 s down
keyd virtual keyboard 0fac:0ade:efba1ddf f down
keyd virtual keyboard 0fac:0ade:efba1ddf d down
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 d down
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 d down
keyd virtual keyboard 0fac:0ade:efba1ddf a down
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 a down
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 a down
keyd virtual keyboard 0fac:0ade:efba1ddf d up
DELL0A36:00 06CB:CE65 Touchpad 06cb:ce65:d11dbfc8 d up
I'm having the same issue. Fedora 41 - Gnome Lenovo X1 Gen12
device added: 0001:0001:a38e6885 AT Translated Set 2 keyboard (/dev/input/event3) device added: 0002:000a:83b21bac TPPS/2 Elan TrackPoint (/dev/input/event4) device added: 2c2f:0028:b8c28465 SNSL0028:00 2C2F:0028 Mouse (/dev/input/event5) device added: 2c2f:0028:5bb91730 SNSL0028:00 2C2F:0028 Touchpad (/dev/input/event6) device added: 0000:0006:bdb72f48 Video Bus (/dev/input/event7) device added: 0000:0000:52563095 Intel HID events (/dev/input/event8) device added: 17aa:5054:b7eca923 ThinkPad Extra Buttons (/dev/input/event10) device added: 0fac:0ade:efba1ddf keyd virtual keyboard (/dev/input/event16) device added: 0fac:1ade:d2b36ae6 keyd virtual pointer (/dev/input/event17) SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 (null) up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 (null) up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 (null) up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 kpminus down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 kpminus up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 kpminus down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 kp6 down keyd virtual keyboard 0fac:0ade:efba1ddf s down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s down keyd virtual keyboard 0fac:0ade:efba1ddf d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down keyd virtual keyboard 0fac:0ade:efba1ddf d up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d up keyd virtual keyboard 0fac:0ade:efba1ddf d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down keyd virtual keyboard 0fac:0ade:efba1ddf s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up keyd virtual keyboard 0fac:0ade:efba1ddf d up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d up keyd virtual keyboard 0fac:0ade:efba1ddf s down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s down keyd virtual keyboard 0fac:0ade:efba1ddf d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 d down keyd virtual keyboard 0fac:0ade:efba1ddf d up keyd virtual keyboard 0fac:0ade:efba1ddf s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 kp6 up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 kpminus up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock up keyd virtual keyboard 0fac:0ade:efba1ddf s down keyd virtual keyboard 0fac:0ade:efba1ddf s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 s up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 kpminus down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 kpminus up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 kpminus down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 kp6 down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock down SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 kp6 up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 kpminus up SNSL0028:00 2C2F:0028 Touchpad 2c2f:0028:5bb91730 numlock up keyd virtual keyboard 0fac:0ade:efba1ddf leftcontrol down keyd virtual keyboard 0fac:0ade:efba1ddf c down
I was struggling, and nothing worked for me, eventually I ended up creating a service to monitor keyd events...
https://askubuntu.com/questions/1537781/tuochpad-not-disabling-while-typing-on-hp-convertible-laptop/1538007#1538007
just as idea - maybe it is possible to include such functionality in the keyd code? The only difference I see so far is that the logic should not disable the touchpad on modifier key press - f.e if I press Win key or Alt or Shift or Ctrl - tochpad should continue to work - there are many things controlled by mouse + modifier key.
just as idea - maybe it is possible to include such functionality in the keyd code? The only difference I see so far is that the logic should not disable the touchpad on modifier key press - f.e if I press Win key or Alt or Shift or Ctrl - tochpad should continue to work - there are many things controlled by mouse + modifier key.
Makes sense, the logic should be slightly changed, maybe add list of keys to exclude as variable on top of script... Or maybe to pause script, and map pause to specific key combination...
Can you try adding the following to /etc/libinput/local-overrides.quirks?
[Serial Keyboards]
MatchUdevType=keyboard
MatchName=keyd*keyboard
AttrKeyboardIntegration=internal
just as idea - maybe it is possible to include such functionality in the keyd code?
The problem is that keyd does not manage the mouse by default (unless you explicitly add it, which is experimental). Proper touchpad support is actually non trivial to implement since there are a lot of hardware specific considerations (keyboards are much easier by contrast). In this case it makes sense to make use of libinput.
this overrides worked for me OK - now touchpad behaves correctly. So for me the issue can be closed,
This solution did not work for me, log looks the same as originally.
Can you try adding the following to
/etc/libinput/local-overrides.quirks?[Serial Keyboards] MatchUdevType=keyboard MatchName=keyd*keyboard AttrKeyboardIntegration=internal
@wzqj Can you post some more details about your system? The specific distro/DE/hardware would be useful.
Sure, on Arch using Sway. on Dell Latitude 7420
-> swaymsg -t get_inputs Input device: keyd virtual keyboard Type: Keyboard Identifier: 4012:2782:keyd_virtual_keyboard Product ID: 2782 Vendor ID: 4012 Active Keyboard Layout: English (US) Libinput Send Events: enabled
Input device: keyd virtual pointer Type: Mouse Identifier: 4012:6878:keyd_virtual_pointer Product ID: 6878 Vendor ID: 4012 Libinput Send Events: enabled
Input device: DELL0A36:00 06CB:CE65 Mouse Type: Mouse Identifier: 1739:52837:DELL0A36:00_06CB:CE65_Mouse Product ID: 52837 Vendor ID: 1739 Libinput Send Events: enabled
What would be default content of /etc/libinput/local-overrides.quirks ? Can somebody post it as gist or something please? I have been tampering too much with mine...
Same issue
Can you try adding the following to
/etc/libinput/local-overrides.quirks?[Serial Keyboards] MatchUdevType=keyboard MatchName=keyd*keyboard AttrKeyboardIntegration=internal
This solution works for me on Ubuntu 24.04 with Gnome and Wayland.
The name of the config section is a little misleading, it can be any string so it is better to write [keyd virtual keyboards] instead.
Note 1: You have to reboot your system for the config to apply.
Note 2: To test the config, pay attention whether the mouse pointer can be moved while typing because not all apps hide it when you type.
Note 3: If the config doesn't work:
- run
keyd monitor - type any symbols and identify your input device (keyboard)
- run
libinput list-devicesand find the path to the input device, for example/dev/input/event14. - run
libinput quirks list <path> - make sure that
AttrKeyboardIntegration=internalis in the output - if it is not there, recheck the config, reboot the system, look for libinput docs related to your distro.
Credits: https://www.kristianhannula.com/posts/fixing-disable-touchpad-while-typing-on-linux-laptop/
Thanks.
I was struggling, and nothing worked for me, eventually I ended up creating a service to monitor keyd events...
https://askubuntu.com/questions/1537781/tuochpad-not-disabling-while-typing-on-hp-convertible-laptop/1538007#1538007
temporarily it is fixable - at me on kde fedora i needed to toggle to off… disabling touchpad when mouse connected. like possibly keyd converts touchpad to mouse in kernel or something…
see:
I had this issue with NixOS and the quirks workaround work for me by adding the following to configuration.nix:
environment.etc."libinput/local-overrides.quirks".text = pkgs.lib.mkForce ''
[Serial Keyboards]
MatchUdevType=keyboard
MatchName=keyd virtual keyboard
AttrKeyboardIntegration=internal
'';