使用 xkb 重新映射引用和右键

使用 xkb 重新映射引用和右键

在标准美国键盘上,我交换了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(请参阅帖子在这里更多细节)。

相关内容