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.
/etc/udev/hwdb.d/90-purism-pipe-symbol-fix.hwdbfile you added, reboot, everything works.
If you now run
showkeyand 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