이것은 내 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
이는 두 가지 레이아웃, 즉 custom
변형과 us
기본 레이아웃(예: 파일에 정의된 첫 번째 레이아웃 ) 을 정의했음을 의미합니다 /usr/share/X11/xkb/symbols/us
.
첫 번째 레이아웃은 으로 표시되지 않고 :1
, 두 번째 레이아웃만 로 표시되고 :2
, 세 번째 레이아웃은 으로 표시되는 :3
식입니다.
귀하의 구성은 레이아웃 간 전환을 위한 키를 정의하지 않으므로 GUI를 통해서만 전환할 수 있습니다.
예를 들어 키를 눌러 전환할 수 있는 세 가지 레이아웃(미국/기본, 독일어, 러시아어/음성)을 정의할 수 있습니다 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
예를 들어 이렇게 하면 병합된 세 가지 레이아웃이 표시됩니다. \열쇠 의 경우 :
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
하고 방해하지 않도록 쉽게 설득할 수 없는 "최신" 데스크탑 환경에 적용될 수도 있고 적용되지 않을 수도 있습니다.