이를 달성하는 한 가지 방법은 xmodmap
입니다. xev
주요 이벤트를 얻기 위해 실행할 수 있습니다 . 실행시 xev
상자가 나타나고 초점을 맞추고 교환하려는 키를 누를 수 있습니다. Alt키 와 비슷한 세부 정보를 출력해야합니다 .
KeyPress event, serial 28, synthetic NO, window 0x8800001,
root 0x25, subw 0x0, time 2213877115, (126,91), root:(1639,475),
state 0x0, keycode 14 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
저는 PC에 있는데 "Command Key"는 없지만 "Windows Key"와 동일하며 xev는 다음을 제공합니다.
KeyPress event, serial 28, synthetic NO, window 0x8000001,
root 0x25, subw 0x0, time 2213687746, (111,74), root:(1624,98),
state 0x0, keycode 93 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
xmodmap은을 state
모르고 키 매핑을 쉽게 끊을 수 있으므로 다음을 수행하는 것이 좋습니다.
xmodmap -pke > defaults
그런 다음 xmodmap 파일을 만듭니다.
keycode 14 = Alt_L
keycode 93 = Super_L
remove Mod1 = Alt_L
remove Mod4 = Super_L
add Mod1 = Super_L
add Mod4 = Alt_L
xev
반환 된 키 코드를 어떻게 사용하고 있는지 확인하십시오 . 또한 여기에서는 왼쪽 슈퍼 및 Alt 키만 교체하고 올바른 키는 이전 동작으로 남겨 둡니다. 그런 다음을 실행 xmodmap
하여 다음 키를 설정할 수 있습니다 .
$ xmodmap -v modmap.file
! modmap:
! 1: keycode 14 = Alt_L
keycode 0xe = Alt_L
! 2: keycode 93 = Super_L
keycode 0x5d = Super_L
! 3: remove Mod1 = Alt_L
! Keysym Alt_L (0xffe9) corresponds to keycode(s) 0xe
remove mod1 = 0xe
! 4: remove Mod4 = Super_L
! Keysym Super_L (0xffeb) corresponds to keycode(s) 0x5d
remove mod4 = 0x5d
! 5: add Mod1 = Super_L
add mod1 = Super_L
! 6: add Mod4 = Alt_L
add mod4 = Alt_L
!
! executing work queue
!
keycode 0xe = Alt_L
keycode 0x5d = Super_L
remove mod1 = 0xe
remove mod4 = 0x5d
add mod1 = Super_L
add mod4 = Alt_L
-v
자동 실행을 위해 (verbose) 스위치 없이 실행할 수 있지만 modmap 파일에서 실수를 한 경우 유용합니다. 문제가 발생하면 기본값을 다시 적용하십시오.
xmodmap defaults
Modmap은 종종 X를 시작할 때 실행되므로 modmap 명령을에 넣으면 기본값으로 적용 할 수 있습니다 ~/.xmodmaprc
.