1

I am using Artix Linux with OpenRC.

I want to define a custom console keymap to generally use the US-design, but add some extra functionality for German umlauts. The following does work:

/usr/share/keymaps/i386/qwerty/mymap.map:

include "us.map"

altgr keycode 30 = adiaeresis

Activating with rc-update add keymaps boot /rc-service keymaps restart as described here.

With these configurations, when I press AltGr+a, ä gets printed as intended.

I want to do the same for AltGr+Shift+a to produce Ä. However, adding the line shift altgr keycode 30 = Adiaeresis to my keymap, then restarting the service yields the following error:

Setting keyboard mode [UTF-8] ...            [ ok ]
Loading key mappings [mymap] ...
adding map 3 violates explicit keymaps line
Error leading key mappings                   [ !! ]
ERROR: keymaps failed to start

What does that tell me and how can I fix it?

altgr shift keycode 30 = Adiaeresis has the same result.

I also tried to modify the existing line to altgr keycode 30 = adiaeresis Adiaeresis, but that yields syntax error, unexpected LITERAL, expecting EOL.

I use this as a reference, but i find it hard to read and interpret.

1 Answer 1

1

Okay, I found an alternative way to declare it that works: the number system described in the manpage of keymaps. Note that in /usr/share/keymaps/i386/qwerty/us.map.gz (unpacked), there is the line keymaps 0-2,4-6,8-9,12, ommitting 3, which is what I need (Shift+AltGr). So my file now looks like this, and that works fine:

include "us.map"

keymaps 0-3

keycode 22 = u U udiaeresis Udiaeresis
keycode 24 = o O odiaeresis Odiaeresis
keycode 30 = a A adiaeresis Adiaeresis
keycode 31 = s S ssharp

I still don't understand the error in the question though.

1
  • 1
    Actually, you do. You had (via inclusion) an explicit keymaps line stating that map 3 was being omitted from all definitions, and then you had a definition that explicitly addressed map 3, in violation of that.
    – JdeBP
    Jul 2, 2020 at 17:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .