Xkb
XKB 組與級別
我想擴展我的 XKB 鍵盤佈局以添加自定義綁定。基於 pc104/us 佈局,我想添加如下綁定:
AltGr-a → ä (adiaeresis) AltGr-e → € (EuroSign)
我想我知道如何使用
xkbcomp
. 但是,我不確定是否最好將附加綁定放入級別 3 (setxkbmap -option lv3:ralt_switch
) 或組 2 (setxkbmap -option grp:switch
)。優缺點都有什麼?
兩者都有效。主要優點和缺點是兼容性:
- XKB 本身使用級別 3,例如 for
setxkbmap -layout us -variant euro
或setxkbmap -option keypad:oss
。將符號放入第 3 級可確保與之兼容。- 第 2 組確保與 的兼容性
xmodmap
,這會在其中放置額外的符號。xmodmap
已棄用,但它仍然是快速添加其他綁定的好方法。這是使用級別 3 的解決方案:
xkbcomp - :0 <<EOF xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+inet(evdev)+level3(ralt_switch)+compose(caps)+keypad(oss)" key <LatA> { [ a, A, adiaeresis, Adiaeresis ] }; key <LatE> { [ e, E, EuroSign ] }; key <LatO> { [ o, O, odiaeresis, Odiaeresis ] }; key <LatS> { [ s, S, ssharp ] }; key <LatU> { [ u, U, udiaeresis, Udiaeresis ] }; }; xkb_geometry { include "pc(pc104)" }; }; EOF