Fedora
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。
我剛剛破解了以下解決方案。它不僅適用於 Sublime Text,還允許使用
shift
.
- 添加
preserve[Shift+LevelThree] = Shift;
到…/xdb/types/iso9995
. 關於askubuntu的詳細資訊。- 將
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 上的這篇文章以獲取更多詳細資訊。
如果您不想選擇帶有 . 的文本,也許您可以跳過 1. 和類型聲明
shift
。