자주 사용하지 않는 키보드 키를 수정자 키로 변경하는 방법

자주 사용하지 않는 키보드 키를 수정자 키로 변경하는 방법

다음과 같은 한국어 키보드가 있습니다.

여기에 이미지 설명을 입력하세요.

한자( 한자)는 의 왼쪽에 위치해 있는데 space, 이는 한글을 타이핑할 때도 거의 사용하지 않는 문자인데, 내 왼손 엄지손가락에 있어 가장 중요한 공간이다.i3 창 관리자 모드 키. 이는 Alt내 코드 편집기에서 사용할 수 있도록 해제됩니다 .

내 질문예: 한자 키를 수정자 키로 바꾸는 방법은 무엇입니까?

다음을 사용하여 키를 확인했습니다 xev.

KeyPress event, serial 32, synthetic NO, window 0x2200001,
    root 0x281, subw 0x0, time 11955968, (-132,626), root:(491,646),
    state 0x0, keycode 131 (keysym 0xff34, Hangul_Hanja), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2200001,
    root 0x281, subw 0x0, time 11955968, (-132,626), root:(491,646),
    state 0x20, keycode 131 (keysym 0xff34, Hangul_Hanja), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

키 코드 131 = 0x83

출력에서 xmodmap이것이 사용 가능하다는 것을 알 수 있습니다 mod3.

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)

나는 xmodmap -e "add mod3 = Hangul_Hanja"다음과 같은 결과를 얻으려고 노력합니다 ...

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        Hangul_Hanja (0x83)
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

... set $mod Mod3i3 프로필에 추가하고 재부팅한 후 수정자 키가 없어 작동하지 않았습니다.

또한 한자 키는 일반적인 수정자 키와 다르게 작동합니다. 키를 누르고 있으면 반복적인 키 입력이 생성되는 반면 일반적인 수정자 키는 그렇지 않습니다.

집에 전문 지식을 빌려줄 수 있는 키보드 전문가가 있기를 바랍니다.

Linux Mint 18 (Cinnamon) i3 창 관리자

답변1

X11 수정자 처리는 약간 특별합니다. 어떤 키도 수정자로 선언할 수 없습니다. 수정자 설정과 키 기호 설정 간에 일관성이 있어야 합니다.

고전적인 수정자는 Shift, Control, 및 (각각 Alt에는 Meta및 와 같은 두 개의 키 기호가 있음)입니다(그리고 Hyper약간 다르게 동작하는 Caps Lock 및 Num Lock ). 대부분의 응용 프로그램은 수정자로 사용되는 다른 키 기호와 함께 작동하지 않습니다.SuperShift_LShift_R

따라서 한자 키를 수정자로 사용하려면 Hyper_L(예를 들어) 만드십시오.

keycode 131 = Hyper_L
remove Mod4 = Hyper_L
add Mod3 = Hyper_L

이로 인해 해당 키는 더 이상 한자 키로 작동하지 않습니다. xmodmap 대신 XKB를 사용하면 두 기능을 모두 보존할 수 있는 방법이 있을 수 있지만 방법은 모르겠습니다.

관련 정보