自定义键盘布局使用 HJKL 作为箭头键无法正常工作

自定义键盘布局使用 HJKL 作为箭头键无法正常工作

我设置了键盘布局,以使用键、、、作为箭头、和/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 ]     }; 

是一个相关问题,从中我可以从中找到你的答案。

相关内容