Keyboard-Shortcuts

控制台鍵盤映射的 shift altgr 組合

  • July 2, 2020

我正在使用帶有 OpenRC 的 Artix Linux。

我想定義一個自定義控制台鍵盤映射以通常使用美國設計,但為德語變音符號添加一些額外功能。以下確實有效:

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

include "us.map"

altgr keycode 30 = adiaeresis

rc-update add keymaps boot使用/啟動,如此rc-service keymaps restart所述。

使用這些配置,當我按 AltGr+a 時,ä會按預期列印。

我想為 AltGr+Shift+a 做同樣的事情來生成Ä. 但是,將該行添加 shift altgr keycode 30 = Adiaeresis到我的鍵盤映射,然後重新啟動服務會產生以下錯誤:

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

這告訴我什麼,我該如何解決?

altgr shift keycode 30 = Adiaeresis有相同的結果。

我還嘗試將現有行修改為altgr keycode 30 = adiaeresis Adiaeresis,但這會產生syntax error, unexpected LITERAL, expecting EOL.

將此作為參考,但我發現它很難閱讀和解釋。

好的,我找到了另一種聲明它的方法:鍵盤映射手冊頁中描述的數字系統。請注意,在/usr/share/keymaps/i386/qwerty/us.map.gz(未打包的)中,有一行keymaps 0-2,4-6,8-9,12,省略了 3,這是我需要的(Shift+AltGr)。所以我的文件現在看起來像這樣,並且工作正常:

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

不過,我仍然不明白問題中的錯誤。

引用自:https://unix.stackexchange.com/questions/596329