XKB에 대해 알아보고 키맵, 특히 수정자를 사용자 정의하는 방법을 알아보세요.
수정자를 비활성화하는 소규모 실험에서 예상치 못한 결과가 발생했습니다.
(1) 이전 수정자 매핑
$ xmodmap -pm
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
(2) 잠금 수정자 지우기
$ xmodmap -e 'clear Lock'
(3) 삭제됨
$ xmodmap -pm
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
원래는 CapsLock을 비활성화하여 잠금 상태를 설정하려고 했는데 그렇지 않습니다. 평소와 같이 작동하며 xev
키 이벤트 보기를 사용하면 잠금 플래그가 계속 변경되는 것을 볼 수 있습니다( state 0x0
CapsLock이 꺼져 있을 때, state 0x2
켜져 있을 때).
이 명령은 실제로 무엇을 하고 있나요 clear
?
키(키코드)를 분리하여 수정자로서의 기능을 비활성화하려면 어떻게 해야 합니까?
답변1
실제로 CapsLock 기능은 누른 키의 키심 값에 바인딩됩니다. 키 코드와 키 기호의 매핑을 보려면 를 실행하세요 xmodmap -pke
. (키코드 66)에 대한 매핑은 CapsLock( )여야 합니다 | grep 'keycode 66'
.
keycode 66 = Caps_Lock NoSymbol Caps_Lock
당신은 그것을 가지고 놀 수 있습니다 xev
. 더 읽어보세요ArchWiki: Xmodmap 소개#.
키(키코드)를 분리하여 수정자로서의 기능을 비활성화하려면 어떻게 해야 합니까?
변경해야 할 매핑입니다 CapsLock.
비활성화하려면 CapsLock매핑을 해제해야 합니다.
xmodmap -e 'keycode 66 = NoSymbol NoSymbol NoSymbol'
을 활성화하려면 CapsLock이를 기본값으로 다시 매핑해야 합니다.
xmodmap -e 'keycode 66 = Caps_Lock NoSymbol Caps_Lock'
명시적 명령은 실제로 무엇을 수행합니까?
키코드 맵이 아닌 수정자 맵을 지웁니다. 자세한 내용은 다음을 참조하세요.ArchWiki:Xmodmap#Modifier_keys