我想要两种键盘布局(一种用于英语,一种用于西班牙语),并添加一个在它们之间切换的快捷方式。
/etc/default/keyboard
我选择的解决方案是在我的文件中设置以下几行:
XKBLAYOUT="us,es"
XKBOPTION="grp:ctrl_shift_toggle"
事实证明这是一个错误,因为 ctrl_shift 快捷键会干扰并优先于所有其他应用程序级别的快捷键,例如浏览器的 ctrl+shift+tab 和 vi 的 ctrl+shift+insert。
我还没有找到方法来恢复此更改并使其在关机期间继续存在。
以下是我尝试过的方法:1)XKBOPTION
从中删除行/etc/default/keyboard
2) 运行命令dpkg-reconfigure keyboard
3) 运行命令setxkbmap -option
。这有效,但重启后会重置。4) 通过添加行并通过 GNOME 添加替代布局并使用 GNOME 快捷方式(超级空格)配置单一布局XKBLAYOUT
。开关无效,重启后会重置。
我不知道这些更改在安装之间存储在哪里,我运行 grep 搜索 XKBOPTION、ctrl_shift_toggle 等术语,但似乎找不到。我所能找到的只是该setxkbmap -print
命令显示 ctrl_shift_toggle 选项:
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+es:2+us:3+inet(evdev)+grp(ctrl_shift_toggle)" };
xkb_geometry { include "pc(pc105)" };
};
但是,如上所述,我找不到负责 ctrl_shift_toggle 配置的文件。
注意:问题寻求的是可以将键盘设置状态恢复为原始设置或所需配置的答案。重新安装操作系统或从全新安装开始的解决方案不被视为最佳解决方案。原因是,作为超级用户,我希望对我的系统有深入的控制。
感谢您的时间。
答案1
每次启动时都运行 setxkbmap -option。出于某种原因,将该行添加到 rc.local 不起作用。
此解决方案不会撤消原始配置,而是覆盖它。