I have had exactly the same issue as you (Librem 13v2 UK edition). I remember running into this problem when I originally installed Arch Linux on my machine and I found a solution but forgot what I did. I just switched to Manjaro [*] and had to figure it out again.
It’s all flooding back to me as I type this so sorry for the ramble. Basically the ‘fixes’ that Purism have pushed to upstream Systemd are actually the problem. I now recall that I previously believed this was due to them being a fix for the US layout keyboard which has the knock-on effect of breaking the UK layout one. I can’t remember how I arrived at that conclusion but it seems possible.
-
If you look in
/lib/udev/hwdb.d/60-keyboard.hwdb
(around line 1140) you can see the Purism keyboard settings. Comment those out. -
Delete the
/etc/udev/hwdb.d/90-purism-pipe-symbol-fix.hwdb
file you added, reboot, everything works. -
If you now run
showkey
and press the backslash key it will show up as keycode 86. (You might need to e.g. Ctrl+Alt+F2 to get to a new virtual terminal if you’re in a graphical environment and showkey doesn’t work. Ctrl-Alt-F7 or Ctrl-Alt-F8 will probably get you back to your graphical environment depending on your setup.)
When I first made the change to the file under /lib
, I thought it would be overwritten during an update and wouldn’t be a permanent solution but that never happened. Maybe Pacman doesn’t overwrite user-edited files or maybe there just wasn’t an update to Systemd in that time which changed that file. Either way, there’s probably a better method but I’m not invested in finding it since it now works and will become future me’s problem if it ever breaks. [**]
Also I found out today that you can type \
by holding Alt Gr
and pressing -
. Similarly, you can type |
by holding Alt Gr
and pressing `
. I don’t know if that’s common knowledge.
[*] Apparently at random, sometimes (often) when I wake the machine from sleep the damn fans crank up to full speed and the CPU throttles down to 400MHz. This isn’t even fixed with a reboot, you have to fully shut down the machine then start it up again. Never found a fix. I assumed it was something to do with my Arch system being incorrectly configured but the problems seems to exist on Manjaro too… It’s probably time to contact support.
[**] TODO: does setting KEYBOARD_KEY_56=86
in /etc/udev/hwdb.d/90-purism-pipe-symbol-fix.hwdb
work?