如何在 Colemak 键盘布局上重新映射左退格键以转义?

如何在 Colemak 键盘布局上重新映射左退格键以转义?

我的键盘设置是这个命令:

exec setxkbmap -layout us,us -variant altgr-intl,colemak -option caps:escape,grp:alt_shift_toggle

它将大写锁定映射为 qwerty 的转义,但在 Colemak 中,大写锁定过去有一个退格键(这就是为什么我的问题与这个)。我想重新映射 Colemak 的左退格键以逃脱,但保持我的右退格键不变。有没有办法做到这一点,最好使用简单的命令,如上面的命令?

答案1

您可以看到,尽管该/usr/share/X11/xkb/symbols/us键生成符号,但它仍然被调用。 <CAPS>BackSpace

看看setxkbmap -print——看到us(colemak):2队伍里的了xkb_symbols吗?

$ setxkbmap -print
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us(altgr-intl)+us(colemak):2+inet(evdev)+group(alt_shift_toggle)+capslock(escape)" };
    xkb_geometry  { include "pc(pc105)" };
};

我认为+capslock(escape):2添加到该行应该可以工作,但似乎不起作用,而且我对多组布局不够熟悉,无法知道这是否是 XKB 选项的普遍问题或我缺少的语法。


您可能需要提供修改后的 colemak 定义:

// colemak layout with escape on capslock instead of backspace
partial alphanumeric_keys
xkb_symbols "colemak-esc" {
    // start with existing colemak layout
    include "us(colemak)"

    key <CAPS> { [ Escape, Escape, Escape, Escape ] }
};

您可以将其添加到/usr/share/X11/xkb/symbols/us或您自己的文件中$HOME/.xkb/symbols,然后使用 加载它setxkbmap。有关加载位置和加载方式的信息,请参阅一些其他参考资料:

相关内容