? 대신에 왼쪽 Shift및 왼쪽 CTRL키 를 교환 할 수 있습니까?setxkbmap
xmodmap
편집하다
Fcitx 로 전환했습니다 . 이는 모든면에서 IBus보다 키보드 레이아웃 및 사용자 정의 키 맵으로 훨씬 잘 작동합니다. 나는 그것을 강력히 추천합니다.
답변
xmodmap
더 이상 사용되지 않습니다. 실제로 xkb
도구를 사용하여 수행해야합니다 .
원하는 스왑은 기본적으로 X11 파일에 포함되지 않은 것 같습니다. 직접 작성해야합니다.
http://madduck.net/docs/extending-xkb/ 페이지 를 통해 이해하고 이해하는 방법을 찾을 수있었습니다.
~/.xkb/keymap/mykbd
의 출력을 넣을 파일을 작성하면 setxkbmap
기본 키보드 정의가됩니다. 예 :
setxkbmap -print > ~/.xkb/keymap/mykbd
그런 다음 키 스와핑을 정의하기 위해 기호 파일을 작성하십시오. ~/.xkb/symbols/myswap
거기에 다음 줄을 넣으십시오.
partial modifier_keys
xkb_symbols "swap_l_shift_ctrl" {
replace key <LCTL> { [ Shift_L ] };
replace key <LFSH> { [ Control_L ] };
};
그런 다음 ~/.xkb/keymap/mykbd
파일을 편집하고 xkb_symbols
추가 할 행을 변경 하십시오.
+myswap(swap_l_shift_ctrl)
마지막으로로드 할 수 있습니다 xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY
( -I
매개 변수에 “~”를 사용할 수 없음 ). 희귀 키에 대해서는 정의되지 않은 기호에 대해 많은 경고를 뱉을 수도 있지만 무시할 수 있습니다 (예 : 오류를 dave :로 리디렉션 2> /dev/null
).
일반과 반전 된 ctrl / shift 사이를 쉽게 바꿀 수 있기를 원한다면; ~/.xkb/keymap/
추가 “myswap”옵션없이 다른 파일로 작성 하고로로드하십시오 xkbcomp
. 두 개의 작은 스크립트를 만들어로드 할 수 있습니다.
답변
Pablo의 솔루션 사용 과 매핑 LALT
하는 몇 가지 문제가 발생 하여 옵션도 설정해야합니다 .Control_L
modifier_map
템플릿을 복사하여 /usr/share/X11/xkb/symbols/altwin
찾아서 xkb_symbols "ctrl_alt_win"
다음과 같이 변경했습니다.
- 컨트롤의 LALT 키 **
- Alt 키를 LWIN
- MENU 키를 Windows 키로
최종 ~/.xkb/symbols/myswap
파일은 다음과 같습니다.
partial modifier_keys
xkb_symbols "swap" {
key <MENU> { [ Super_L ] };
key <LALT> { [ Control_L, Control_L ] };
key <RALT> { type[Group1] = "TWO_LEVEL",
symbols[Group1] = [ Alt_R, Meta_R ] };
key <LWIN> { [ Alt_L, Meta_L ] };
key <LCTL> { [ Control_L ] };
key <RCTL> { [ Control_R ] };
modifier_map Control { <LALT>, <LCTL>, <RCTL> };
modifier_map Mod1 { <LWIN>, <RALT> };
modifier_map Mod4 { <MENU> };
};
새 쉘을 열 때 경고 출력을 피하기 위해 명령에 추가 -w0
했습니다 xkbcomp
.
xkbcomp -w0 -I$HOME/.xkb $HOME/.xkb/keymap/mykbd $DISPLAY
** Mac과 Linux를 많이 전환 할 때 Linux에 근육 메모리의 Mac 키보드와 비슷한 두 개의 제어 키가 있습니다.