我目前正在设置我的默认键盘布局,如下所示:
setxkbmap -layout us -variant dvorak -option ctrl:nocaps,[...]
它禁用大写锁定键,并使其成为附加的ctrl键,以及大量其他选项。
我想执行以下操作来切换键盘布局:
setxkbmap -layout us -variant dvorak-l -option ctrl:swapcaps
但是,它不会重新启用大写锁定键。据我所知,左控制键和大写锁定均保留为控制键。
我知道我可以清除整个选项列表,但是出于可维护性的考虑,我宁愿不粘贴选项。如何重新启用大写锁定?
更新:
使用xev(1)查看按键时,似乎ctrl:nocaps Control_L
为两个按键都提供了一个,而ctrl:swapcaps“恢复”了大写锁定键(按键给出了Caps_Lock
)。但是,大写锁定LED不会点亮,也不会实际工作。
望着xkeyboard-config/symbols/ctrl
在X.org源文件确实暗示了这个问题:
xkb_symbols "nocaps" {
replace key <CAPS> { [ Control_L, Control_L ] };
modifier_map Control { <CAPS>, <LCTL> };
};
xkb_symbols "swapcaps" {
replace key <CAPS> { [ Control_L ] };
replace key <LCTL> { [ Caps_Lock ] };
};
后面的选项缺少修饰符_map行,无论执行什么操作