Librem 13v2, German keyboard & PureOS: "angle brackets & pipe" key dysfunctional

Sorry, we have no workaround yet, but I’ll try to see what’s so special about Arch that have those keys working.

Also in QubesOS R4.0 and Ubuntu 16.04 this keys are working fine.

AFAIK the special key code mapping was contributed to debian upstream so that up-to-date distros like Arch Linux (which compiles from up-to-date sources) may already have incorporated this patch.

Not working fine in Qubes 4.0 with my en_US.utf8

sudo setkeycodes 56 43 worked for me

Sincerely
Max

@max4: Do you use the latest recent version of Qubes 4.0 or you did an upgrade?
German keyboard with german layout and en_UK.utf8 locale is working fine for me.
I didn’t have to set any key codes.

Sorry, I missed the “German” part of the thread. I am using the US keyboard and have the pipe backslash issue, as many others.

It should have posted here but I guess I jumped between threads for a solution a bit to many.

Pardon my mistake
Sincerely
Max

I fixed it on my machine with german keyboard the following way, after some research here and on the archwiki…

  1. Create the file /etc/udev/hwdb.d/90-purism-german-keyboard-fix.hwdb with content:
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPurism*:pn*Librem13v2*:pvr*
 KEYBOARD_KEY_56=86
  1. systemd-hwdb update
  2. udevadm trigger
2 Likes

@max4: Yes true, that’s the more interesting part, cause of the embedded controller firmware.

Just was wondering. So, no problem. It’s looks like the same issue, but it’s slightly different.
The patches don’t work for the german keyboard and the issue occurs mostly only in PureOS.

SUCCESS! Thanks, @elsurion, this works perfectly.

EDIT: I removed the quote of @elsurion’s post, as it was not displayed properly here (missing space before “KEYBOARD_KEY_56…”). Thanks for pointing it out, @Caliga.

Unfortunately this fix doesn’t work for me. There is a message that says:
“Property expected, ignoring record with no properties”

Has anyone an idea?

Thanks and greetings
manni

Sure. Put a space in front of the second line, just as @elsurion has. You’re welcome :wink:
Hm… @antimon maybe you can fix or remove the quote in your message to avoid confusion?

It works…

Thanks and greetings from Cologne
manni

Explanation of this issue: https://tracker.pureos.net/T486

1 Like

Tried your suggestion step by step which worked out fine, but still having the same wrong mapping on the german keyboard # ’ ’ instead angle brackets & pipe.

Had to create the folder hwdb.d myself. Didn’t exist. Might that have to do with that nothing changed?

(i’m not from a linux-background unfortunately)

I had this issue when upgrading a Librem 13 v3 from Debian 9 stable to unstable. With stable, the <, > and | key worked, after upgrading to unstable and rebooting it did not anymore. @elsurion’s solution had to be adjusted a bit, replacing the “v2” with a “v3” - also see https://tracker.pureos.net/T486

Just to have it mentioned: In 2025 the problem from 2018 seems not to be properly solved yet.

How i dare to mention something like this: Had to reinstall my Librem 13 v3 with a new installation of PureOS 10. The pipe-key-problem on a german keyboard is still existing. And now - 2025 - all formerly known solutions don’t seem to work anymore.

Btw: For his age the Librem 13 still runs insanely well… :wink:

3 Likes

Restore from backup?

1 Like

Really good idea.

Unfortunately backuped only all “relevant” data. Forgot about the special fixes and settings i had to apply 7-/8ish years ago to a newly bought high-value laptop to make it work properly… :wink:

So my fault. Nevertheless kind of irritating that newly installing such a (newer) system 7, 8 years later still produces the same well known problems (that could have been solved within those years…). At least i tried every mentioned fix to realise, they don’t seem to work anymore.

But as mentioned, apart from that the Librem 13 still runs marvelously like a charme with more than 6h battery life. Premium i’d say…

1 Like

A fresh install of Debian solved the problem instantly. So german pipe key works properly out-of-the box with Debian, but not with PureOS.

3 Likes

Some background should someone stumble over the topic having problems:

  • other Distros like Debian or Arch based don’t have the pipe-key-problem
  • problem background see
    • sudo nano /lib/udev/hwdb.d/60-keyboard.hwdb
    • search for “Purism” → you’ll find KEYBOARD_KEY_56=backslash hardcoded which fits US-keyboards, but not UK, DE
  • check via TTY
    • Strg + ALT + F3
    • showkey
    • hit <>| Button → should show 86
    • hit #’ Button → should show 43
    • return after 10s of delay to finish showkey via STRG + ALT + F2
      → so KEYBOARD_KEY_56 needs to be corrected to 86 like shown in the solution of this thread → v3, v4 might differ
  • fix
    • sudo nano /etc/udev/hwdb.d/99-librem13-fix.hwdb
    • enter and save (take care of v2, v3, v4)
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPurism:*pn*Librem13v2*:*
 KEYBOARD_KEY_56=86
  • sudo systemd-hwdb update
  • sudo udevadm trigger
    → try it out → should already deliver <>|

PS: My Librem 13 used to be a v3, but it’s a v2 after being swapped 'cause of broken lid → above solution won’t work if you’re convinced to own a v3… :wink:

2 Likes