升级到 13.10 后,我们似乎不再需要使用 XKB 进行布局设置和输入语言切换,所以我有一个问题。
有时我需要添加一两种输入语言,然后过一会儿再删除它们。这是很常见的操作,以前有一种方法可以简化它,例如:
setxkbmap -layout "us,ru,de"
因此我能够将此类命令绑定到热键并非常快速轻松地添加或删除所需的语言。
目前 setxkbmap 根本不影响布局,所以我该怎么办?
我尝试做类似的事情:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'ru'), ('xkb', 'ar')]"
它确实为键盘指示器添加了布局,但根本不改变输入,所以如果我打开 GUI 设置工具,我找不到新的语言。
我也尝试过这样做:
gsettings set org.gnome.libgnomekbd.keyboard layouts "['us', 'ru', 'de']"
但这根本没有任何效果。
在从 gui 添加新布局之前和之后,gsettings list-recursive 之间的差异没有显示任何差异,除了 org.gnome.desktop.input-sources 源之外,在 insn 之前和之后的 gconftool-2 --recursive-list 之间的差异根本没有显示任何差异。
请给我任何解决方案来实现这一点。控制台命令甚至 API 调用都可以。我认为编写简单的应用程序不是问题。
答案1
我找到了那是什么。这是一个命名问题。阿拉伯语必须是 ('xkb', 'ara') 而不是 ar。奇怪的是,这与 setxkbmap 符号有区别。