答案1
我已经建造了快速语言切换Gnome-shell 扩展正是用来避免切换器弹出窗口的 - 现在切换语言是即时发生的。此外,它不需要自定义快捷方式(常规的会改变行为),所以登录屏幕不受影响。
免责声明:我是 Quick Lang Switch 的开发者...
答案2
如果您长按并按住,则会出现叠加层。快速按下并释放应会更改布局,但不显示叠加层。
作为一种解决方法,您可以设置另一个键盘快捷键来切换布局,请参阅:Ubuntu 17.10 无法将输入切换快捷键更改为 alt+shift。
答案3
可以通过 gnome-shell 的 JS 接口来查询它gdbus call
(源码)。
以下脚本将在两个配置的输入源之间交替。如果有更多输入源,则可以轻松修改。
#!/usr/bin/env bash
cur_idx=$(
gdbus call \
--session \
--dest org.gnome.Shell \
--object-path /org/gnome/Shell \
--method org.gnome.Shell.Eval \
"imports
.ui.status
.keyboard
.getInputSourceManager()
.currentSource
.index" |
cut -d"'" -f2
)
next_idx=$(( 1 - $cur_idx ))
gdbus call \
--session \
--dest org.gnome.Shell \
--object-path /org/gnome/Shell \
--method org.gnome.Shell.Eval \
"imports
.ui
.status
.keyboard
.getInputSourceManager()
.inputSources[$next_idx]
.activate()" \
&> /dev/null
使其可执行chmod a+x </path/to/script>
,然后您可以将其绑定到自定义快捷键:
打开设置 -> 设备 -> 键盘并点击“+' 底部的选择按钮将脚本分配给某个快捷方式
(对于 Gnome < 3.x:设置 -> 设备 -> 键盘 -> 自定义快捷键)。