mod-4
나는 Apple 키보드를 가지고 있고 Emacs를 사용할 때 키가 막대의 왼쪽에 있는 첫 번째 키가 되도록 키를 다시 매핑해야 합니다 . Space아래 스크립트는 dwm 창 관리자를 사용할 때 제대로 작동했지만 Openbox로 전환한 후 옵션 키와 명령 키 사이의 키 코드를 바꾸는 대신 두 키가 동일한 작업을 수행한다는 사실을 발견했습니다.
이상한 점은 새 설정에서 "실행"을 클릭 showkey
하고 옵션 키와 명령 키를 누르면 각각 56과 125가 표시되지만 64와 125 대신 아래 스크립트에 삽입하면 이 키들이 작동한다는 것입니다. 전혀 작동하지 않습니다. 133.
인정해야겠습니다. 작동할 때까지 수정하여 아래 스크립트를 만들었으므로 아마도 더 나은 방법이 있을 것입니다.
.xmodmap
# switch alt and command...the switch is not being done properly
xmodmap -e "keycode 64 = Alt_L"
xmodmap -e "keycode 133 = Meta_L"
# remap of mod 4
xmodmap -e "clear Mod4"
xmodmap -e "add Mod4 = Super_L"
고쳐 쓰다
이전 키보드 설정에 익숙해져서 조정을 포기했습니다. 안타깝게도 최근 재부팅 후에는 더 이상 작동 CapsLock하지 않아서 Ctrl여기로 돌아왔습니다.
이번에는 위에서 사용한 매핑을 사용하는 대신 xmodmap -pke > ~/.xmod
키를 실행하고 조정했습니다(훨씬 쉬웠습니다).
그러나 여전히 뭔가가 옳지 않습니다. CapsLock명령을 실행하지 않으면 여전히 잘 작동합니다. xev
그런 다음 올바른 매핑을 표시하는 것처럼 보이는 다음을 반환합니다.
# caplock
KeyRelease event, serial 40, synthetic NO, window 0x2200001,
root 0x156, subw 0x0, time 4858000, (57,-31), root:(426,402),
state 0x2, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
XKeysymToKeycode returns keycode: 37
XLookupString gives 0 bytes:
XFilterEvent returns: False
# ctrl-L
KeyRelease event, serial 40, synthetic NO, window 0x2200001,
root 0x156, subw 0x0, time 4805947, (686,148), root:(1055,581),
state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
# Alt-L
KeyPress event, serial 40, synthetic NO, window 0x2200001,
root 0x156, subw 0x0, time 4555825, (-158,-649), root:(959,133),
state 0x0, keycode 64 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
# Super-L
KeyRelease event, serial 40, synthetic NO, window 0x2200001,
root 0x156, subw 0x0, time 4920564, (-63,169), root:(306,602),
state 0x40, keycode 133 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
답변1
시작 부분에 다음을 넣을 수 있습니다.~/.xmod
remove Lock = Caps_Lock
remove Control = Control_L
remove Mod1 = Alt_L Meta_L
remove Mod4 = Super_L Hyper_L
그리고 맨 아래에 있는 내용~/.xmod
add Control = Control_L
add Mod1 = Alt_L Meta_L
add Mod4 = Super_L Hyper_L
이렇게 하면 이러한 키의 수정자 특성을 인식하도록 시스템이 업데이트됩니다.