我想要的是能够按下:
Ctrl+ Shift+ 1- 切换到英语键盘布局
Ctrl+ Shift+ 2- 切换到希伯来语键盘布局
Ctrl+ Shift+ 3- 切换到俄语(注音)键盘布局
我已经看到这里已经提出了类似的问题,但我看到的答案只setxkbmap
破坏了 UI 键盘布局选择器,这是不受欢迎的。
谢谢你的帮助。
答案1
如果您使用的是 Ubuntu,您可以设置默认的“键盘布局”设置以在键盘布局之间切换。但是您不能使用列出的键盘快捷键。我不知道该怎么做。
如果您打开系统设置菜单,请导航至键盘布局。打开后,您将看到当前的键盘布局。如果您单击选项并选择“更改布局的键”,则可以选择要更改布局的组合。其中一些组合是
Alt+Caps Lock
Alt+Ctrl
Alt+Shift
同时按下两个 Alt 键,等等。
但是没有办法设置您自己的自定义快捷键。我尝试查看是否有可能的终端代码,但没有手动输入键盘布局设置,例如 Firefox 等其他程序:man firefox
如果有,您可以轻松创建自定义键组合来根据您想要的布局运行命令。
此外,没有指示器显示您切换到了哪种布局,唯一的检查方法是输入一些内容。但它似乎确实按照布局列出的顺序进行。
我希望这对你有帮助。
答案2
答案3
以下解决方案适用于 Ubuntu 19.10。
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"
取自这里。
因此,只需添加您喜欢的键绑定,并根据需要修改上述命令中的索引(0 - 您的第一个布局,1 - 您的第二个布局,依此类推)。
答案4
2024年,两者都不 gsettings set org.gnome.desktop.input-sources current
,也不 gdbus call … org.gnome.Shell.Eval …"
正在工作。它们已被弃用。您可以尝试Eval
使用ramottamado/eval-gjs,但这同样不安全。
因此,我制作了自己的 GNOME Shell 扩展并与全世界分享:什里伍克(也可以从 GitHub 获取:madhead/shyriiwook)。
这是一个非常简单、简约的扩展。它没有任何 GUI。安装后,一个新的 D-Bus 接口将出现在您的 GNOME Shell 会话中。您可以查询当前配置或调用方法来激活所需的布局:
$ gdbus introspect \
--session \
--dest org.gnome.Shell \
--object-path /me/madhead/Shyriiwook \
--only-properties
node /me/madhead/Shyriiwook {
interface me.madhead.Shyriiwook {
properties:
readonly as availableLayouts = ['us', 'de', 'jp'];
readonly s currentLayout = 'us';
};
};
$ gdbus call \
--session \
--dest org.gnome.Shell \
--object-path /me/madhead/Shyriiwook \
--method me.madhead.Shyriiwook.activate "de"
这很容易编写脚本,您甚至可以将此命令原始放入“设置”→“键盘”→“键盘快捷键”→“查看和自定义快捷键”→“自定义快捷键”下的自定义快捷键中。