我的键盘设置是这个命令:
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
。有关加载位置和加载方式的信息,请参阅一些其他参考资料: