#StackBounty: #20.04 #keyboard #systemd #udev #microsoft-keyboard Can't remap keys on a Microsoft Keyboard with HWDB

Bounty: 50

I’m trying to remap LCtrl and CapsLock on my Microsoft Wired Keyboard 600 with HWDB but for whatever reason the system does not see the changes that I make.

This is how my hwdb rule looks like:


The vendor and the model codes come from lsusb and were reconfirmed in /sys/devices/pci0000:00/*

After copying the config file to /etc/udev/hwdb.d, running systemd-hwdb update and issuing udevadm trigger no changes in the keyboard config are present.

I’ve also tried:

  • Rebooting — didn’t help.
  • Specifying the bus explicitly as 0003 — didn’t help.
  • Confirming with evtest that the key codes I’m using are correct for my keyboard — yep, those are the correct keycodes.
  • Confirming the applied rules are listed in sudo udevadm info /sys/class/input/eventX — yes, the new rules are listed, which should mean they were applied successfully? Yet the keys behave the same way they did before.
E: KEYBOARD_KEY_1d=capslock
E: KEYBOARD_KEY_3a=leftctrl

When I use evdev:atkbd:dmi:* as the device identifier instead the change is correctly applied to my laptop keyboard so I know the rule and the process I’m using to remap the keys should be correct, it’s got to be an issue with the wrong identifier (though I’ve quintuple checked it).

Any help will be appreciated.

Get this bounty!!!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.