showkey
is IMO horrible and doesn’t detect all keys. I’d use evtest
(see the link below), if the keys don’t show in the keyboard event file then try the other.
That should be /etc/udev/hwdb.d/60-keyboard.hwdb
, though I don’t know if it matters.
Try commenting one out.
Better yet try with evdev:atkbd:dmi:*
which will match any AT keyboard. You can always refine it later, but you’re unlikely to have any more AT keyboards, if you plug one in it’ll be USB.
Since it’s an internal keyboard you should be able to use the systemd service here and forget about udev.
Why is it a bad way?
The rules can be awkward and you need exactly 1 space for indentation, but AFAIK it does work. It’s below xorg and the console so it works for both, and is applied every time the device is detected.