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方法では私の問題は解決されません。

ベストアンサー1

おすすめ記事