Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable touchpad while typing does not work in Wayland (wayfire) if keyd is running #889

Open
mark-herbert42 opened this issue Dec 9, 2024 · 14 comments

Comments

@mark-herbert42
Copy link

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)

@rvaiya
Copy link
Owner

rvaiya commented Dec 18, 2024

Can you post the output of keyd monitor?

@mark-herbert42
Copy link
Author

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

@wzqj
Copy link

wzqj commented Dec 31, 2024

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

@chris4prez
Copy link

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

@acosonic
Copy link

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

@mark-herbert42
Copy link
Author

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.

@acosonic
Copy link

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...

@rvaiya
Copy link
Owner

rvaiya commented Jan 16, 2025

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.

@mark-herbert42
Copy link
Author

this overrides worked for me OK - now touchpad behaves correctly. So for me the issue can be closed,

@wzqj
Copy link

wzqj commented Jan 25, 2025

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

@rvaiya
Copy link
Owner

rvaiya commented Feb 9, 2025

@wzqj Can you post some more details about your system? The specific distro/DE/hardware would be useful.

@wzqj
Copy link

wzqj commented Feb 9, 2025

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

@acosonic
Copy link

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...

@aljustiet
Copy link
Contributor

Same issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants