나는 Apple 키보드를 가지고 있으며 Emacs로 작업 할 때 mod-4
키를 Space막대 왼쪽의 첫 번째 키로 만들기 위해 키를 다시 매핑해야했습니다 . 아래 스크립트는 dwm 창 관리자를 사용할 때 제대로 작동했지만 Openbox로 전환 한 후 옵션과 명령 키 사이에서 키 코드를 바꾸는 대신 두 키가 모두 같은 일을한다는 것을 알았습니다.
내가 알았던 한 가지 이상한 점은 실행을 클릭 showkey
하고 옵션 및 명령 키를 각각 누를 때 새로운 설정에 관한 것으로 56과 125를 얻지 만 64와 64 대신 아래 스크립트에 삽입하면 전혀 작동하지 않습니다. 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
xmodmap -pm 명령에 대해 위의 업데이트를 추가했습니다
—
chris
wiki.archlinux.org/index.php/Apple_Keyboard 및 help.ubuntu.com/community/AppleKeyboard를 살펴 보십시오 . 요약하자면, 커널에서 키보드 드라이버가 X에서 해킹하는 것보다 다르게 동작하도록 할 수 있습니다.
—
wingedsubmariner
DWM에서 작동했다면 충돌
—
MajorBriggs
~/.config/openbox/rc.xml
이 문제 라고 생각 합니다.
xmodmap 대신 udev를 사용하여 키를 다시 매핑하는 것을 고려 했습니까? udev는 스캔 코드를 특정 키 코드로 다시 매핑하기 위해 hwdb 파일 만 있으면됩니다.
—
Centimane 2016 년
showkey
X에서 사용하는 것과 동일한 키 코드가 표시되지 않습니다.xev
X 키 코드 및 해당 조치를 보려면 실행 하십시오. 관련된 각 키를 누를 때xmodmap -pm
의 출력과 출력을 보여주십시오xev
.