Это возможно путем запроса к gnome-shell через его интерфейс JS с gdbus call
( src ).
Следующий скрипт будет чередовать два настроенных источника ввода. Легко изменить, если у вас есть больше.
#!/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: Настройки -> Устройства -> Клавиатура -> Пользовательские сочетания клавиш ).