rvaiya/keyd

Laptop mouse, touchpad & keyboard mapped to single <vendor id>:<product id>

Closed this issue · 2 comments

Hey,

I'm facing the problem that my laptops touchpad inputs are interpreted as keyboard inputs. My laptop is running NixOS 24.05 and keyd v2.4.3.

My config:

[ids]
04F3:31B9

[main]
capslock=overload(nav, esc)

[nav]
h=left
j=down
k=up
l=right
journalctl log of keyd starting
Jun 04 14:25:39 lnix systemd[1]: Started Keyd remapping daemon.
Jun 04 14:25:39 lnix keyd[16489]: WARNING: failed to set effective group to "keyd" (make sure the group exists)
Jun 04 14:25:39 lnix keyd[16489]: CONFIG: parsing /etc/keyd/laptop-keyboard.conf
Jun 04 14:25:39 lnix keyd[16489]: Starting keyd v2.4.3 ()
Jun 04 14:25:39 lnix keyd[16489]: DEVICE: ignoring 0001:0001  (AT Translated Set 2 keyboard)
Jun 04 14:25:39 lnix keyd[16489]: DEVICE: match    04f3:31b9  /etc/keyd/laptop-keyboard.conf        (ASUE140D:00 04F3:31B9 Mouse)
Jun 04 14:25:39 lnix keyd[16489]: DEVICE: match    04f3:31b9  /etc/keyd/laptop-keyboard.conf        (ASUE140D:00 04F3:31B9 Touchpad)
Jun 04 14:25:39 lnix keyd[16489]: DEVICE: match    04f3:31b9  /etc/keyd/laptop-keyboard.conf        (ASUE140D:00 04F3:31B9 Keyboard)
Jun 04 14:25:39 lnix keyd[16489]: DEVICE: ignoring 1e7d:2e2c  (ROCCAT ROCCAT Kone Aimo 16K Mouse)
Jun 04 14:25:39 lnix keyd[16489]: DEVICE: ignoring 1e7d:2e2c  (ROCCAT ROCCAT Kone Aimo 16K Consumer Control)
Jun 04 14:25:39 lnix keyd[16489]: DEVICE: ignoring 1e7d:2e2c  (ROCCAT ROCCAT Kone Aimo 16K)
Jun 04 14:25:39 lnix keyd[16489]: DEVICE: ignoring 4f53:3741  (Qwertykeys qk75 ansi)
Jun 04 14:25:39 lnix keyd[16489]: DEVICE: ignoring 4f53:3741  (Qwertykeys qk75 ansi Mouse)
Jun 04 14:25:39 lnix keyd[16489]: DEVICE: ignoring 4f53:3741  (Qwertykeys qk75 ansi Consumer Control)
Jun 04 14:25:39 lnix keyd[16489]: DEVICE: ignoring 4f53:3741  (Qwertykeys qk75 ansi Keyboard)
Jun 04 14:25:39 lnix keyd[16489]: DEVICE: ignoring 0fac:1ade  (keyd virtual pointer)
Jun 04 14:26:43 lnix systemd[1]: Stopping Keyd remapping daemon...

As you can see, there seem to be multiple devices mapped to exactly the same resource address (unlike in #709, where one address seems to have subnodes).
When searching for related issues, I came across #676, but I don't think the underlying problems are distinct.

keyd monitor output
$ sudo keyd monitor
device added: 0001:0001 AT Translated Set 2 keyboard (/dev/input/event0)
device added: 04f3:31b9 ASUE140D:00 04F3:31B9 Mouse (/dev/input/event8)
device added: 04f3:31b9 ASUE140D:00 04F3:31B9 Touchpad (/dev/input/event9)
device added: 04f3:31b9 ASUE140D:00 04F3:31B9 Keyboard (/dev/input/event10)
device added: 1e7d:2e2c ROCCAT ROCCAT Kone Aimo 16K Mouse (/dev/input/event12)
device added: 1e7d:2e2c ROCCAT ROCCAT Kone Aimo 16K Consumer Control (/dev/input/event13)
device added: 1e7d:2e2c ROCCAT ROCCAT Kone Aimo 16K (/dev/input/event16)
device added: 4f53:3741 Qwertykeys qk75 ansi (/dev/input/event17)
device added: 4f53:3741 Qwertykeys qk75 ansi Mouse (/dev/input/event18)
device added: 4f53:3741 Qwertykeys qk75 ansi Consumer Control (/dev/input/event20)
device added: 4f53:3741 Qwertykeys qk75 ansi Keyboard (/dev/input/event21)
device added: 0fac:0ade keyd virtual keyboard (/dev/input/event22)
device added: 0fac:1ade keyd virtual pointer (/dev/input/event23)
AT Translated Set 2 keyboard	0001:0001	enter up
keyd virtual keyboard	0fac:0ade	kpminus down
keyd virtual keyboard	0fac:0ade	numlock down
keyd virtual keyboard	0fac:0ade	kpminus up
keyd virtual keyboard	0fac:0ade	numlock up
AT Translated Set 2 keyboard	0001:0001	s down
AT Translated Set 2 keyboard	0001:0001	s up
AT Translated Set 2 keyboard	0001:0001	s down
AT Translated Set 2 keyboard	0001:0001	s up
AT Translated Set 2 keyboard	0001:0001	s down
AT Translated Set 2 keyboard	0001:0001	s up
AT Translated Set 2 keyboard	0001:0001	s down
AT Translated Set 2 keyboard	0001:0001	s up
AT Translated Set 2 keyboard	0001:0001	f down
AT Translated Set 2 keyboard	0001:0001	f up
AT Translated Set 2 keyboard	0001:0001	f down
AT Translated Set 2 keyboard	0001:0001	f up
keyd virtual keyboard	0fac:0ade	kpminus down
keyd virtual keyboard	0fac:0ade	numlock down
keyd virtual keyboard	0fac:0ade	kpminus up
keyd virtual keyboard	0fac:0ade	numlock up
keyd virtual keyboard	0fac:0ade	kpminus down
keyd virtual keyboard	0fac:0ade	numlock down
keyd virtual keyboard	0fac:0ade	kpminus up
keyd virtual keyboard	0fac:0ade	numlock up
keyd virtual keyboard	0fac:0ade	kpminus down
keyd virtual keyboard	0fac:0ade	numlock down
keyd virtual keyboard	0fac:0ade	kpminus up
keyd virtual keyboard	0fac:0ade	numlock up
keyd virtual keyboard	0fac:0ade	kpminus down
keyd virtual keyboard	0fac:0ade	numlock down
keyd virtual keyboard	0fac:0ade	kpminus up
keyd virtual keyboard	0fac:0ade	numlock up
keyd virtual keyboard	0fac:0ade	kpminus down
keyd virtual keyboard	0fac:0ade	numlock down
keyd virtual keyboard	0fac:0ade	kpminus up
keyd virtual keyboard	0fac:0ade	numlock up
AT Translated Set 2 keyboard	0001:0001	leftcontrol down
AT Translated Set 2 keyboard	0001:0001	c down

Do you have idea how I could prevent my trackpad from being detected by keyd?
Help is much appreciated :)

#345
Try the following

[ids]
k:04F3:31B9

The manual stated.

If an id matches more than one device type, the prefix k: may

Thanks a lot & sorry for just scanning through the man page :/