xmodmap 지우기 수정자가 작동하지 않습니다.

xmodmap 지우기 수정자가 작동하지 않습니다.

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 0x0CapsLock이 꺼져 있을 때, 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

관련 정보