これは私のXKB構成です。
$ setxkbmap -print
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+gb(custom)+us:2+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
どういう意味ですかus:2
?
答え1
gb
これは、2つのレイアウト、つまりバリアントとcustom
基本us
レイアウト(ファイルで定義された最初のレイアウトなど)を定義したことを意味します/usr/share/X11/xkb/symbols/us
。
最初のレイアウトは で表示されず、2 番目のレイアウト:1
のみで表示され:2
、3 番目のレイアウトは で表される:3
式です。
あなたの設定はレイアウト間の切り替えのためのキーを定義しないので、GUIを通してのみ切り替えることができます。
たとえば、キーを押して切り替えることができる3つのレイアウト(アメリカ/基本、ドイツ語、ロシア語/音声)を定義できますMenu。
$ setxkbmap -layout us,de,ru -variant basic,,phonetic -option grp:menu_toggle
$ setxkbmap -print
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us(basic)+de:2+ru(phonetic):3+inet(evdev)+group(menu_toggle)+ctrl(nocaps)" };
xkb_geometry { include "pc(pc105)" };
};
完全な拡張 xkb 構成を表示するには、次のコマンドを使用できます。
xkbcomp $DISPLAY - | less
たとえば、これによりマージされた3つのレイアウトが表示されます。\鍵の場合:
xkb_symbols "pc+us(basic)+de:2+ru(phonetic):3+inet(evdev)+group(menu_toggle)+ctrl(nocaps)" {
name[group1]="English (US)";
name[group2]="German";
name[group3]="Russian (phonetic)";
...
key <BKSL> {
type[group2]= "FOUR_LEVEL",
type[group3]= "ALPHABETIC",
symbols[Group1]= [ backslash, bar ],
symbols[Group2]= [ numbersign, apostrophe, rightsinglequotemark, dead_breve ],
symbols[Group3]= [ Cyrillic_e, Cyrillic_E ]
};
同じxkbcomp
ツールを使用して、ルートにならず、システムファイルやディレクトリを操作せずにカスタム設定をロードできます/usr/share
。
xkbcomp $DISPLAY ~/.xkb_conf
# modify ~/.xkb_conf
# then load it:
xkbcomp ~/.xkb_conf $DISPLAY
最後の行を追加することは、~/.xsession
固定キーボード設定の強制ロードに対応するCを使用し、setxkbmap
邪魔にならないように簡単に説得できない「最新の」デスクトップ環境に適用される場合と適用されない場合があります。