Page MenuHomePureOS Tracker

Keyboard layout unable to recognize pipe on Librem 13v2,3 Librem 15 US devices
Closed, ResolvedPublic

Description

https://forums.puri.sm/t/keyboard-layout-unable-to-recognize-pipe/2022

I can reproduce on my own machine.

(This ticket is for US devices. For UK devices, please see T439)

Event Timeline

chris.lamb created this task.May 15 2018, 13:39

Unfortunately, neither the udev rule nor the "setkeycodes 56 43" works for me. Any ideas?

I have Librem13v2 with *UK* keyboard.

showkey is not emitting any keycode for this key but more-importantly GRUB does not recognise the key (testcase: holding shift during boot, then e to edit one of the entries, all keys work). This contrasts with jason's post on the forum thread who also has a UK layout and GRUB works for him.

@heather.ellsworth You mentioned that you required a workaround - can you confirm whether you have a US or UK keyboard?

(@jonas.smedegaard FYI: German keyboard reference)

Thus I believe this is -- at least with the UK layout, but that might be a red herring -- a hardware/firmware problem and is thus not something I can fix. This appears to be confirmed by Dennis's rather informative post.

@zlatan.todoric (or someone else?) Who should I be re-assigning this to?

mladen renamed this task from Keyboard layout unable to recognize pipe to Keyboard layout unable to recognize pipe on Librem devices.May 20 2018, 05:39

UK keyboards apparently require (at least) a hardware fix. This is being tracked in T439.

@mladen.pejakovic I think you omitted some kind of "non-UK" clause when retitling this issue? (See also my query https://tracker.pureos.net/T439#7819)

@heather.ellsworth, you did not reply on your device type.

Anyway, if this is just for US devices — and that is resolved by our systemd now including the right snippet — isn't *this* issue resolved?

mladen added a comment.May 20 2018, 05:58

@chris.lamb Yes, it seemed to me the wording would be too complicated, but feel free to retitle if more descriptive title is needed.

Anyway, if this is just for US devices — and that is resolved by our systemd now including the right snippet — isn't *this* issue resolved?

Someone with Librem 13v2 / Librem 13v3 /Librem 15v3 device with US keyboard layout needs to test and confirm.

@mladen.pejakovic Was asking you to retitle as you are the one who knew/knows the status of this. :) There's been enough confusion and/or missing info already, I don't want to add to that by an inaccurate naming.

mladen renamed this task from Keyboard layout unable to recognize pipe on Librem devices to Keyboard layout unable to recognize pipe on Librem 13v2,3 Librem 15 US devices.May 20 2018, 10:08

@chris.lamb Ah, okay, makes sense. :) Sorry, retitled now.

Sorry for the late reply. I have a L13v2 with a US keyboard. After I reboot my Librem, I always do sudo setkeycodes 56 43 and that fixes the issue.

@heather.ellsworth Thanks for that. So, you shouldn't have to do that .. can you clarify which version of systemd you are running? Please run apt list systemd

My systemd version is 238-4

chris.lamb changed the task status from Open to Incomplete.May 21 2018, 10:52

My systemd version is 238-4

In that case, this isssue is not resolved as that systemd version should be re-mapping this for you. Please pastebin the output of for X in /dev/input/*; do echo $X; sudo udevadm info ${X}; done. (That might be wrong but I'm running out the door right now...)

Here is the output you requested.

Hmpf, looks like we are detecting it fine and applying the correct keyboard_key setting (note KEYBOARD_KEY_56=backslash). Any other developers with a US keyboard lurking here?I have a UK keyboard so am now a little stuck :)

Hmm.. so I have been running a script just after reboot that does some post startup things, including setting the keycodes. If I disable the running of that and reboot, then it appears that my keycodes are magically working again and I have no idea when this started working.

@chris.lamb I wonder if your keycodes just need to be set to different values to match your UK keyboard (like using some other value instead of 56). In a VT, if you do sudo showkey -k and then at the prompt hit just the key with a | on it, what number is printed to stdout? If it's not 43, then try sudo setkeycodes X 43 (where X is what you have from the showkey stdout).

@heather.ellsworth Thanks for providing input on chris' keyboard issue - but since that is *not* a US keyboard it confuses matters to share that info here. Perhaps discuss with @kyle.rankin where to put your info as he has some ideas on where to most appropriately put it.

chris.lamb closed this task as Resolved.May 22 2018, 01:32

@heather.ellsworth wrote:

If I disable the running of that and reboot, then it appears that my keycodes are magically working again and I have no idea when this started working.

j
Well, in a systemd from earlier in the year. ;) Perhaps you were mapping your keys twice and thus breaking it. Anyway, we can re-resolve this issue - thank s for the details.

Regarding your suggestion to run sudo showkey -k, that's appreciated but take a look at the UK-specific issue at T439. (It cannot show on showkey as it doesn't get to that level.)

@jonas.smedegaard (Not sure why you summon Kyle here? We have a UK issue at T439)

(just for the record: @chris.lamb in a chat discussion I was unaware of the existence of T439 and possibly Kyle was too, since our discussions was on whether it would be sensible or not to _open_ an issue regarding UK keyboards or maybe better to instead use a wiki for that.)

Heh, you must have missed see the oodles of scrollback on Riot me begging folks to open a suitable number of issues, whichever they are? :p

BTW, the bug is still present in the installer, but not after the user installs the updates. This can cause some users to think that their password isn't working anymore (enter a pipe in your password in the installer, do not click "show password" so you're unaware that you entered a > or a < instead, install the updates, reboot, password suddenly stops working).

Thanks. Split this into T456 as it's still open/unresolved :)

mladen reopened this task as Open.Jun 17 2018, 13:10

This is still not working for Librem 13v3.

It is needed to add another entry in the hwdb file for L13v3:

# Purism Librem 13 V3
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPurism*:pn*Librem13v3*:pvr*
 KEYBOARD_KEY_56=43

I have suggested this to a user and they added this for their Librem 13v3 and keys are now properly mapped for their device (Librem 13v3). The user already sent a patch upstream:
https://github.com/systemd/systemd/pull/9318/files

We can close this when the next (patched) systemd version hits our repos, or to simply provide a patched package immediately.

@mladen.pejakovic Thank you for this. Would you like me to provide a patched package immediately? I can do this tomorrow.

mladen added a comment.Jun 17 2018, 13:24

@chris.lamb Yes, please, who knows when will updated systemd be released.

I am now wondering if this issue is replicable on Librem 15 US devices at all. Should I retitle the issue again? We will open a separate issue if someone reports this for the Librem 15 US devices.

chris.lamb closed this task as Resolved.Jun 18 2018, 02:10

Fixed in systemd 238-5pureos1

Note that this PR was just merged upstream :)

I just had my librem 13 v3 replaced due to an unrelated hardware issue and this issue , which I had before, and applied some fix in both from the forum has returned with the hardware swap (note: hard disk is same and OS install is the same).
I know whatever I applied also had to be tweaked in qubes as I have both pureos and qubes installed, So I am trying to recall exactly how I had it fixed in both OS's.

the above version info on mine shows

apt list systemd
Listing... Done
systemd/green,now 238-5 amd64 [installed]

what patch is recommended at this point?

@netnut404 Please clarify exactly which keyboard model you have (eg. US/DE/UK?)

If it's better to open a new ticket than comment on this one that's fine, but having all the context of this ticket is useful. We now have a Librem 13v4 and so need to modify the same systemd files to add:

# Purism Librem 13 V4
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPurism*:pn*Librem13v4*:pvr*
 KEYBOARD_KEY_56=43

Hi @kyle.rankin

Very happy to take this. Indeed good call -- can you create a new, Librem 13v4-specific ticket for this and assign it to yours truly?

hansolo added a subscriber: hansolo.Jan 21 2019, 07:58
This comment was removed by hansolo.
hansolo added a comment.Jan 21 2019, 08:00

Is it possible, that it's fixed on US and UK layouts, but on DE not?
Still have this issue...

https://tracker.pureos.net/T678