我用dvorak键盘布局输入。如果我可以将CapsLock(我从未使用过)改为QwertyLock,那将会很方便。使用xkbcomp,我能够获得几乎可以工作的xkb文件:
type "QWERTYCAPS" {
modifiers= Shift+Lock;
map[Shift]= Level2;
map[Lock]= Level3;
map[Shift+Lock]= Level4;
level_name[Level1]= "Base";
level_name[Level2]= "Caps";
level_name[Level3]= "Qwerty";
level_name[Level4]= "QwertyCaps";
};
...
key <AC01> {
type= "QWERTYCAPS",
symbols[Group1]= [ a, A, a, A ]
};
key <AC02> {
type= "QWERTYCAPS",
symbols[Group1]= [ o, O, s, S ]
};
除了两个字母'a'和'm'之外,它的作用是有效的,它们在qwerty和dvorak中处于相同的位置。显然,xkb中有一些特殊的魔法可以改变解释,如果有和没有CapsLock的字母相同。 所以,尽管我问了,但我得到了:
Mod normal, shift, caps, shift+caps
Ask a, A, a, A
Got a, A, A, A
因此,尽管要求小写,但CapsLock案例是大写的。实际上,更改普通或大写字母的字母会使其提供所请求的字符。
有没有办法覆盖这种行为,所以我得到一个小写的'a'?如果做不到,那么正确的做法是什么?我看到有团体,所以我可以制作qwerty group2。但是,我必须将CapsLock更改为GroupLock。我作为一个实验进行了简单的尝试,但它没有用,并且CapsLock指示灯也没有打开。
那么,获得QwertyLock的最简单方法是什么?
答案 0 :(得分:0)
setxkbmap -layout us,us -variant ,dvorak -option grp:caps_toggle
或配置文件中的相同内容(/etc/X11/xorg.conf.d/10-keyboard.conf
):
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us,us"
Option "XkbModel" "pc104"
Option "XkbVariant" ",dvorak"
Option "XkbOptions" "grp:caps_toggle"
EndSection