首先,请原谅我对X和XKB的无知;我一直在尝试找到一种解决方案,希望能够在不需要详细了解的情况下实现我想要的功能。
我正在尝试在Ubuntu 12.04上创建XKB键盘映射,该映射允许我规定两个Shift键中的哪个键构成了Level2修饰符。具体来说,4只有$
在保持右移的情况下,键才应该产生一个,而不是向左移动。
到目前为止,我的阅读:
- http://www.charvolant.org/~doug/xkb/html/node5.html
- http://people.uleth.ca/~daniel.odonnell/Blog/custom-keyboard-in-linuxx11
- http://www.x.org/releases/X11R7.5/doc/input/XKB-Enhancing.html
- 很多搜索!
我试图定义一个自定义类型,然后在符号映射中显式引用它:
/usr/share/X11/xkb/types/mbfisher
:
default xkb_types "mbfisher" {
type "RIGHT_SHIFT" {
modifiers = None+Shift_R;
map[None] = Level1;
map[Shift_R] = Level2;
};
}
/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 ]
};
};
然后,我使用Ubuntu键盘布局GUI选择地图。
显然,这会禁用除4键之外的字母数字键盘,但是仍然可以使用任一Shift键键入美元符号。
我意识到要用大量无用的信息编写一个庞大的问题,所以我就在这里停止。请索要我错过的任何事情。
有任何想法吗?