/ 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 ] };
矢印キーとホーム/エンドキーがあまりにも離れているからです。問題は、これらの変更が一部のプログラムで無視されることです。
これらはブラウザやvscodeやemacsguiなどの一部のテキストエディタでうまく機能しますが、たとえばSublime TextやKonsole(KDEターミナル)では機能しません。
修正はありますか?それが重要な場合、私はFedoraを使用しています。
私はちょうど次の解決策を一緒にハックしました。 Sublime Textで機能するだけでなく、次のテキストを選択することもできます。 shift。
preserve[Shift+LevelThree] = Shift;
_を_…/xdb/types/iso9995
_に追加します。 askubunt の詳細。type="THREE_LEVEL"
_のエントリに_/usr/share/X11/xkb/symbols/us
_とactions[Group1]= [NoAction(), NoAction(), RedirectKey(keycode=<UP>, clearmods=Lock)
(最大)を追加します。キーが少し異なる私のエントリは次のようになります。
_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のこの記事 をお読みください。
でテキストを選択したくない場合は、1。と型宣言をスキップできます。 shift。