You are not logged in.

#1 2020-02-14 11:48:58

pepelu
Member
Registered: 2020-02-12
Posts: 1

[SOLVED] Problem with persistent keyboard configuration in vconsole

I just did a clean install and I'm having problems with a custom keymap for the virtual console. My problem is similar to this topic.

For the custom keymap, I decompressed a keymap in /usr/share/kbd/keymaps/, changed caps to ctrl as described in the wiki, and saved the resulting keymap in /usr/local/share/kbd/keymaps/uk_caps2ctrl.map.

I checked the new keymap with:

# loadkeys /usr/local/share/kbd/keymaps/uk_caps2ctrl.map

And everything worked as expected: the uk keymap with ctrl instead of caps.

Then, to make the change persistent I edited the file /etc/vconsole.conf:

KEYMAP=/usr/local/share/kbd/keymap/uk_caps2ctrl.map
FONT=Lat2-Terminus16

After a reboot my custom keymap is no longer working and I'm left with the regular uk keymap. The font, however, is correct.

The output of localectl (I haven't installed X yet):

System locale: LANG=en_US.UTF-8
    VC Keymap: /usr/local/share/kbd/keymap/uk_caps2ctrl.map
   X11 Layout: n/a

With journalctl | grep vconsole I'm able to see that

systemd-vconsole-setup[509]: /usr/bin/loadkeys failed with exit status 1.

The HOOKS in my mkinitcpio.conf, following the wiki again and using sd-encrypt:

HOOKS=(base systemd autodetect keyboard sd-vconsole modconf block sd-encrypt filesystems fsck)

Edit:
I've continued looking into this.

As it looks that systemd-vconsole-setup is failing, I tried to start the unit while on a session and I also get an error:

$ systemctl start systemd-vconsole-setup
Job for systemd-vconsole-setup.service failed because the control process exited with error code.

systemctl status gives some more information about the error:

cannot open file /usr/local/share/kbd/keymap/uk_caps2ctrl.map

And while doing this, I tried using loadkeys and thanks to the tab completion and that I was at the same time looking at the path in the systemctl error message, I FINALLY realized that it was a typo: the keymap was stored directory keymaps (with s) and the path in vconsole.conf lacked that s. I did not realize this before because I was using tab completion when doing the loadkeys command and typing the path from memory when modifying the vconsole.conf file.

Last edited by pepelu (2020-02-14 17:09:07)

Offline

Board footer

Powered by FluxBB