Apple의 긴 알루미늄 키보드 를 교체 된 Command Cmd
및 Control Ctrl
키 와 함께 사용하고 싶습니다 . 이를 사용하여 Trusty Tahr (14.04)에서 어떻게 단계별로 수행 xkb
합니까?
참고 : 이 솔루션은 13.04 또는 이전 버전 으로 xkb
교체 xmodmap
된 대로 작동하지 않습니다 .
Apple의 긴 알루미늄 키보드 를 교체 된 Command Cmd
및 Control Ctrl
키 와 함께 사용하고 싶습니다 . 이를 사용하여 Trusty Tahr (14.04)에서 어떻게 단계별로 수행 xkb
합니까?
참고 : 이 솔루션은 13.04 또는 이전 버전 으로 xkb
교체 xmodmap
된 대로 작동하지 않습니다 .
답변:
이 답변은 대부분 여기에 주어진 답변을 기반으로합니다 . 이 질문을 다시하고 답한 이유는 완전히 설명되지 않은 마지막 단계입니다. 자세한 내용 xkb
은 여기 , 여기 및 여기를 참조하십시오 .
에서 다음과 같은 매핑을 포함 하는 파일을 /usr/share/X11/xkb/symbols
만들 수도 있습니다 (에있을 수도 있음 /etc/X11/xkb/symbols
) altwin2
.
// Control is SWAPPED with Win-keys
partial modifier_keys
xkb_symbols "cmd_n_ctrl" {
key <LWIN> { [ Control_L ] };
key <RWIN> { [ Control_R ] };
key <LCTL> { [ Super_L ] };
modifier_map Control { <LWIN>, <RWIN> };
modifier_map Mod4 { <LCTL> };
};
option = symbols
섹션 아래에 다음 줄을 삽입하십시오 /usr/share/X11/xkb/rules/evdev
(첫 번째 줄의 경고는 무시하십시오).
altwin2:cmd_n_ctrl = +altwin2(cmd_n_ctrl)
/usr/share/X11/xkb/rules/evdev.lst
섹션 아래에 새 옵션을 추가 하십시오 option
.
altwin2:cmd_n_ctrl Win swapped with Ctrl
키보드 구성 파일이 어디에 있는지 모르는 경우, 당신은 사용하여 편집 할 수 있습니다 dconf-편집기를 추가 "altwin2:cmd_n_ctrl"
로 xkb-options
아래 조직 :: 그놈 :: 바탕 화면 : 입력 소스 와 같이 여기 . 구성 파일의 위치를 아는 경우 다음 XkbOptions
과 같이 필드에 새 옵션을 포함시켜야합니다 .
Section "InputClass"
Identifier "keyboard-layout"
Driver "evdev"
MatchIsKeyboard "yes"
Option "XkbLayout" "us, ru, ca, fr"
Option "XkbOptions" "altwin2:cmd_n_ctrl"
EndSection
재부팅하거나 다시 시작 lightdm
하여 변경 사항을 업데이트하십시오.
sudo restart lightdm
참고 : 옵션을 사용하지 않고 레이아웃 파일에서 직접 변경 한 경우 여기에/var/lib/xkb/
표시된대로 캐시 된 파일을 삭제해야합니다 .
!option = symbols
섹션이 아니 어야합니다 ( 섹션을 options = symbols
찾기 위해 "options ="검색에 소요 된 시간).
16.04에서 마침내 이것이 작동하는 방법이 있습니다. Xmodmap은 모든 앱에서 보편적으로 작동하지 않습니다. gnome tweak 도구에는 기능이 없었으며 사용자 정의 altwin2 키 스왑 (여기의 주요 답변과 같은)을 편집하는 데 실패했습니다. 따라서 여러 답변을이 완전하고 간단한 , 그리고 우아한 해결책 :
gksudo gedit /usr/share/X11/xkb/symbols/pc
그것을 다음으로 변경하십시오 :
default partial alphanumeric_keys modifier_keys
xkb_symbols "pc105" {
key <ESC> { [ Escape ] };
// The extra key on many European keyboards:
key <LSGT> { [ less, greater, bar, brokenbar ] };
// The following keys are common to all layouts.
key <BKSL> { [ backslash, bar ] };
key <SPCE> { [ space ] };
include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"
key <BKSP> { [ BackSpace, BackSpace ] };
key <TAB> { [ Tab, ISO_Left_Tab ] };
key <RTRN> { [ Return ] };
key <CAPS> { [ Caps_Lock ] };
key <NMLK> { [ Num_Lock ] };
key <LFSH> { [ Shift_L ] };
key <LCTL> { [ Alt_L ] };
key <LWIN> { [ Super_L ] };
key <RTSH> { [ Shift_R ] };
key <RCTL> { [ Alt_R ] };
key <RWIN> { [ Super_R ] };
key <MENU> { [ Menu ] };
// Beginning of modifier mappings.
modifier_map Shift { Shift_L, Shift_R };
modifier_map Lock { Caps_Lock };
modifier_map Control{ Control_L, Control_R };
modifier_map Mod2 { Num_Lock };
modifier_map Mod4 { Super_L, Super_R };
// Fake keys for virtual<->real modifiers mapping:
key <LVL3> { [ ISO_Level3_Shift ] };
key <MDSW> { [ Mode_switch ] };
modifier_map Mod5 { <LVL3>, <MDSW> };
key <ALT> { [ NoSymbol, Control_L, Control_R ] };
//include "altwin(meta_alt)"
key <LALT> { [ Control_L ] };
key <RALT> { [ Control_R ] };
modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R };
key <META> { [ NoSymbol, Meta_L, Meta_R ] };
modifier_map Mod1 { <META> };
key <SUPR> { [ NoSymbol, Super_L ] };
modifier_map Mod4 { <SUPR> };
key <HYPR> { [ NoSymbol, Hyper_L ] };
modifier_map Mod4 { <HYPR> };
// End of modifier mappings.
key <OUTP> { [ XF86Display ] };
key <KITG> { [ XF86KbdLightOnOff ] };
key <KIDN> { [ XF86KbdBrightnessDown ] };
key <KIUP> { [ XF86KbdBrightnessUp ] };
};
hidden partial alphanumeric_keys
xkb_symbols "editing" {
key <PRSC> {
type= "PC_ALT_LEVEL2",
symbols[Group1]= [ Print, Sys_Req ]
};
key <SCLK> { [ Scroll_Lock ] };
key <PAUS> {
type= "PC_CONTROL_LEVEL2",
symbols[Group1]= [ Pause, Break ]
};
key <INS> { [ Insert ] };
key <HOME> { [ Home ] };
key <PGUP> { [ Prior ] };
key <DELE> { [ Delete ] };
key <END> { [ End ] };
key <PGDN> { [ Next ] };
key <UP> { [ Up ] };
key <LEFT> { [ Left ] };
key <DOWN> { [ Down ] };
key <RGHT> { [ Right ] };
};
저장.
rm -rf /var/lib/xkb/*
(필요한지 모르겠지만 수행했습니다.)
재부팅하십시오.