首先,请原谅我对 X 和 XKB 的无知;我一直在尝试拼凑一个解决方案,希望能够在不需要详细掌握的情况下实现我想要的。
我正在尝试在 Ubuntu 12.04 上创建一个 XKB 键盘映射,它允许我规定两个 shift 键中的哪一个构成 Level2 修饰符。具体来说,4键应该只$在按住右移时产生 a ,而不是左移。
到目前为止我的阅读:
我试图定义一个自定义类型,然后在符号映射中明确引用它:
/usr/share/X11/xkb/types/mbfisher:
default xkb_types "mbfisher" {
type "RIGHT_SHIFT" {
modifiers = None+Shift_R;
map[None] = Level1;
map[Shift_R] = Level2;
};
}
Run Code Online (Sandbox Code Playgroud)
/usr/share/X11/xkb/symbols/mbfisher:
default
partial alphanumeric_keys
xkb_symbols "basic" {
name[Group1]= "mbfisher";
key <AE04> {
type= "RIGHT_SHIFT",
symbols[Group1]= [ 4, dollar ]
};
};
Run Code Online (Sandbox Code Playgroud)
然后我使用 Ubuntu 键盘布局 GUI 选择地图。
这显然会禁用除4键之外的字母数字键盘,但仍然可以使用任一 shift 键输入美元符号。
我意识到要写一个包含大量无用信息的大量问题,所以我会停在这里;请询问我遗漏的任何内容。 …