我设置了键盘布局,以使用键、、、作为箭头、和/usr/share/X11/xkb/symbols/
作为H第三和第四个移位级别。我主要遵循JKLLeftDownUpRight这个帖子。这R. Alt是我的替代字符键。
虽然这种自定义“基本”可行,但我无法通过同时键入 来选择文本Shift。例如,我无法通过按Alt Gr+ Shift+来选择文本,就像使用+H一样。但我可以使用 跳过整个单词。ShiftLeftCtrl
、、、H的工作方式与Firefox 中的箭头完全相同(带有和) J,但在 Gedit、Rhythmbox 或 Chrome 上则不然,可能在更多情况下......KLShiftCtrl
有什么想法吗?我正在使用 Ubuntu 14.04。
编辑:我正在使用带有的德语键盘AltGr。文件如下:
(希望链接现在能用)
答案1
转到xkb/types/iso9995
并编辑"THREE_LEVEL"
类型,添加
preserve[Shift+LevelThree] = Shift;
所以看起来像这样
partial default xkb_types "default" {
// A key type which can be used to implement
// an ISO9995-style level-three shift.
virtual_modifiers LevelThree;
type "THREE_LEVEL" {
modifiers = Shift+LevelThree;
map[None] = Level1;
map[Shift] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level3;
preserve[Shift+LevelThree] = Shift;
level_name[Level1] = "Base";
level_name[Level2] = "Shift";
level_name[Level3] = "Level3";
};
};
然后转到您的符号文件并使用此格式
key <AC06> { type="THREE_LEVEL", [ h, H, Left ] };
key <AC07> { type="THREE_LEVEL", [ j, J, Down ] };
key <AC08> { type="THREE_LEVEL", [ k, K, Up ] };
key <AC09> { type="THREE_LEVEL", [ l, L, Right ] };
这是一个相关问题,从中我可以从中找到你的答案。