在标准美国键盘上,我交换了Caps Lock和,这对于正确使用Left Control几乎是必需的。Emacs
为了对称,我想将'(quote
密钥)交换为Right Control.xkb
似乎是执行此操作的工具,但是规则文件、组等非常复杂,我无法理解。
我可以看一下如何完成此操作的示例吗?我猜测尝试将非修饰键转换为修饰键有一些特殊的复杂性。
答案1
最简单的方法是编辑/usr/share/X11/xkb/keycodes/evdev
和交换键码,例如在我的系统上,引号键的键码是48
和 ,分别105
用于正确的 ctrl 因此只需注释原始行( prepend //
)和交换值:
// <AC11> = 48;
<AC11> = 105;
...........
// <RCTL> = 105;
<RCTL> = 48;
更好的方法是向您的/usr/share/X11/xkb/symbols/ctrl
例如添加一个新选项
partial modifier_keys
xkb_symbols "swapquotes" {
replace key <AC11> { [ Control_R ] };
replace key <RCTL> { [ apostrophe, quotedbl ] };
};
然后您可以通过 加载/卸载setxkbmap
。如果您使用此方法,您可能需要在您的文件中列出新选项以及简短说明evdev.lst
(请参阅帖子在这里更多细节)。