我試圖不是覆蓋 /usr/share/X11/symbols/us,即使我已經這樣做很多年了。
所以我在 ~/xkb/jpic 中添加了來自 /usr/share/X11/symbols/us 的 dvorak-alt-intl 副本,因為這就是我要處理的內容:
default
partial alphanumeric_keys
xkb_symbols "dvorak-alt-intl" {
name[Group1]= "English (Dvorak alternative international no dead keys)";
include "us(dvorak)"
key <AE04> { [ 9, dollar, EuroSign ] };
key <AD02> { [ comma, less, adiaeresis, dead_caron ] };
key <AD03> { [ period, greater, ecircumflex, periodcentered ] };
key <AD04> { [ p, P, ediaeresis, dead_cedilla ] };
key <AD05> { [ y, Y, udiaeresis ] };
key <AD08> { [ c, C, ccedilla, dead_abovedot ] };
key <AC01> { [ a, A, agrave ] };
key <AC02> { [ o, O, ocircumflex ] };
key <AC03> { [ e, E, eacute ] };
key <AC04> { [ u, U, ucircumflex ] };
key <AC05> { [ i, I, icircumflex ] };
key <AC10> { [ s, S, ssharp ] };
key <AB01> { [ semicolon, colon, acircumflex ] };
key <AB02> { [ q, Q, odiaeresis, dead_ogonek ] };
key <AB03> { [ j, J, egrave, dead_doubleacute ] };
key <AB04> { [ k, K, ugrave ] };
key <AB05> { [ x, X, idiaeresis ] };
include "level3(ralt_switch)"
};
但這總是失敗:
>>> setxkbmap -v 10 -I ~/xkb/ jpic dvorak-alt-intl
Setting verbose level to 10
locale is C
Warning! Multiple definitions of keyboard layout
Using command line, ignoring X server
Warning! Multiple definitions of layout variant
Using command line, ignoring X server
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules: evdev
model: evdev
layout: jpic
variant: dvorak-alt-intl
Trying to build keymap using the following components:
keycodes: evdev+aliases(qwerty)
types: complete
compat: complete
symbols: pc+jpic(dvorak-alt-intl)+inet(evdev)
geometry: pc(pc104)
Error loading new keyboard description
答案1
您可以接受這樣做嗎Xmodmap
?
當您執行時,xmodmap -pke > .Xmodmap
它將產生一個.Xmodmap
包含當前鍵盤映射的文件,其格式類似於keycode 57 = n N
每個鍵碼一行,後跟當前佈局映射到它的鍵符號以及對應於不同修飾符的每個列(因此在本例中為「n」不帶修飾符,與 Shift 一起使用時為「N」)。您可以在那裡編輯您的佈局,然後運行xmodmap .Xmodmap
即可啟動它。
可以找到簡短而有用的介紹這裡