XKB - 構成が正しく機能しません。

XKB - 構成が正しく機能しません。

以下を追加しました。/usr/share/X11/xkb/symbols/us:

key <AC06> {        [         h, H, Left            ]       };
key <AC07> {        [         j, J, Down            ]       };
key <AC08> {        [         k, K, Up              ]       };
key <AC09> {        [         l, L, Right           ]       };
key <AD08> { [ i, I, Home, Home          ] };
key <AB08> { [ comma, less, End, End         ] };
key <CAPS> { [ ISO_Level3_Shift ] }; 

矢印キーとHome / Endキーが遠すぎるからです。問題は、一部のプログラムではこれらの修正が無視されることです。

ブラウザやvscodeやemacs guiなどの一部のテキストエディタではうまく機能しますが、Sublime TextやKonsole(KDE端末)などでは機能しません。

解決策はありますか?重要な場合は、Fedoraを使用しています。

答え1

次の解決策をまとめました。 Sublime Textで動作するだけでなく、shift

  1. に追加してください。詳細preserve[Shift+LevelThree] = Shift;…/xdb/types/iso9995アクベント
  2. type="THREE_LEVEL"の項目にactions[Group1]= [NoAction(), NoAction(), RedirectKey(keycode=<UP>, clearmods=Lock)(最大)を追加します/usr/share/X11/xkb/symbols/us

私のアイテムのキーは少し異なり、次のようになります。

key <AD07> { type="THREE_LEVEL",
   symbols[Group1]= [ u,            U,         Home,        Home ],
   actions[Group1]= [      NoAction(),      NoAction(),   RedirectKey(keycode=<HOME>, clearmods=Lock) ]
};
key <AD08> { type="THREE_LEVEL",
   symbols[Group1]= [ i,            I,         Up,        Up ],
   actions[Group1]= [      NoAction(),      NoAction(),   RedirectKey(keycode=<UP>, clearmods=Lock) ]
};
key <AD09> { type="THREE_LEVEL",
   symbols[Group1]= [ o,            O,         End,        End ],
   actions[Group1]= [      NoAction(),      NoAction(),   RedirectKey(keycode=<END>, clearmods=Lock) ]
};
key <AC07> { type="THREE_LEVEL",
   symbols[Group1]= [ j,            J,         Left,      Left ],
   actions[Group1]= [      NoAction(),      NoAction(),   RedirectKey(keycode=<LEFT>, clearmods=Lock) ]
};
key <AC08> { type="THREE_LEVEL",
   symbols[Group1]= [ k,            l,         Down,      Down ],
   actions[Group1]= [      NoAction(),      NoAction(),   RedirectKey(keycode=<DOWN>, clearmods=Lock) ]
};
key <AC09> { type="THREE_LEVEL",
   symbols[Group1]= [ l,            L,         Right,      Right ],
   actions[Group1]= [      NoAction(),      NoAction(),   RedirectKey(keycode=<RGHT>, clearmods=Lock) ]
};

読むArchlinux Wikiに関するこの記事詳細については。

テキストの選択に使用したくない場合は、shift1.と型宣言をスキップできます。

関連情報