X11: 일부 응용 프로그램이 xkb 키 매핑을 잘못 이해합니다.

X11: 일부 응용 프로그램이 xkb 키 매핑을 잘못 이해합니다.

ctrl+j/k-> left/rightctrl+h/l-> 와 같이 키를 다시 매핑하고 싶습니다 ctrl+left/right. 그래서 기본 xkb파일을 가져와서 다음 내용을 추가했습니다.

먼저, 새로운 유형을 정의했습니다.

type "newType" {
    modifiers= Shift+Control+Lock;
    map[Shift]= Level2;
    map[Lock]= Level2;
    map[Control]= Level3;
    map[Control+Lock]= Level3;
    level_name[Level1]= "Base";
    level_name[Level2]= "Shift";
    level_name[Level3]= "Control";
};

그런 다음 keysym재정의 했습니다 h/j/k/l.

    key <AC06> {
    type= "SimonCtrlMap",
    symbols[Group1]= [               h,               H,            Left ],
    actions[Group1]= [      NoAction(),      NoAction(),   RedirectKey(keycode=<LEFT>) ]
};
key <AC07> {
    type= "SimonCtrlMap",
    symbols[Group1]= [               j,               J,            Left ],
    actions[Group1]= [      NoAction(),      NoAction(),   RedirectKey(keycode=<LEFT>, clearmods=Control) ]
};
key <AC08> {
    type= "SimonCtrlMap",
    symbols[Group1]= [               k,               K,            Right ],
    actions[Group1]= [      NoAction(),      NoAction(),   RedirectKey(keycode=<RGHT>, clearmods=Control) ]
};
key <AC09> {
    type= "SimonCtrlMap",
    symbols[Group1]= [               l,               L,            Right ],
    actions[Group1]= [      NoAction(),      NoAction(),   RedirectKey(keycode=<RGHT>) ]
};

그런 다음 대부분의 응용 프로그램에서 작동하는 키맵 을 사용 하여 새 xkb파일을 로드합니다 . 그러나 일부 응용 프로그램에서는 키 매핑이 작동하지 않습니다.xkbcompfirefoxgnome-terminalgedit

예를 들어 vnc-viewer를 누르면 가 아닌 ctrl+j/k으로 인식됩니다 .ctrl+left/rightleft/right

가장 의아스러운 점은 nautilus기본 파일 브라우저가 인데 gnome, 누르면 ! l로 인식된다는 점 입니다.ctrl+l

누구든지 나에게 문제를 해결하도록 제안해 줄 수 있나요? 링크에 언급된 multi-group방법과 방법을 봤습니다overlayhttps://superuser.com/questions/801611/how-to-make-all-applications-Respect-my-modified-xkb-layout?newreg=4416b0444d2949079d57d2848f86452a. 내 키맵 외에 다른 역할을 하는 multi-group메소드를 사용하고 싶지 않습니다 . ctrl그리고 이 overlay방법으로는 내 문제가 해결되지 않습니다.

관련 정보