@ChrisD I found that it broke again after an dist-upgrade. I deleted the rc.local file, recreated these steps and it worked again. For me, this fix is still in place and working. I have, however, switched to stock Debian instead of PureOS, but previously had the problem on PureOS as well when I first wrote this. Best luck …
Yep. systemd’s hwdb is what most (if not all) distro’s use for working around buggy/faulty input devices. The Purism keyboard fix has been upstreamed to systemd’s hwdb quite a while ago. Simply updating the system should be enough to fix the backslash key.
On my laptop, that was delivered this week, there is, in fact, a KEYBOARD_KEY_56=backslash
entry in /lib/udev/hwdb.d/60-keyboard.hwdb for pnLibrem13v3.
Unfortunately, the pipe/backslash key on my keyboard sends less-than and greater-than symbols (even after a full apt update and reboot).
I am guessing that the keyboard or laptop model may have changed again … like to 13v4?? I see no documentation on how to discover these modalias keys required in the hwdb config files.
This was right on the money. As a complete noob to Linux and qubes, I figure I’d go into a little more detail with the instructions so others like me don’t have to experience the same emotional roller coaster. I was able to create that file “/etc/udev/hwdb.d/90-purism-pipe-symbol-fix.hwdb” by using the command “sudo thunar” in the dom0 terminal emulator. Then I typed “sudo nano /etc/udev/hwdb.d/90-purism-pipe-symbol-fix.hwdb” into the terminal. It launches a cli text editor. I typed in the two lines ewout advised making sure there was a space before KEYBOARD_KEY_56=backslash. I have a Librem13v3 and I had to modify the line “evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPurism:pnLibrem13v2*” with “evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPurism:pnLibrem13v3*”. I hit enter, and ctrl+O to write the two lines in nano, then ctrl+X to exit. I typed the remaining two sudo commands in the terminal, and the | key started working immediately. Thanks to ewout and quban.