У меня есть две команды, они связываются с клавишей Caps Lock и Shift+CapsLock, как упомянуто в этом Вопросы и ответы Немодальный/не сохраняющий состояние язык расположения, переключающийся с Caps Lock, снова (18.04 Бионических Бобров LTS)
Мое требование состоит в том, чтобы переключить языки с Super+Space без графического представления на экране.
Я отключил ярлыки по умолчанию для переключателя для следующего ввода источника и предыдущего входного источника.
теперь я могу связать любую команду с Super+Space как ниже
Мысли:
Возможно дать эти две команды как два ярлыка, например:
Super+Space для английского языка
Shift+Super+Space для украинского языка
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"
Когда значение 1 в "inputSource []" изменения языка в украинском языке и если это - 0 изменений языка в английском языке
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 в ниже команды так, чтобы я мог переключить языки без потребности Shift+Super+Space
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()"
С помощью @danzel, ссылка, предоставленная им.. https://github.com/Nekotekina/kbhook/blob/master/layout_rotate.sh
Я сохранил ниже сценария как ~/SL.sh
и созданный ярлык с Super+Space как
/bin/bash /home/pratap/SL.sh
#!/bin/bash
CURRENT=`gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().currentSource.index"`
if [ "$CURRENT" == "(true, '1')" ]; then
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()"
else
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"
fi
теперь Super+Space переключает Языки без графического представления, которое я искал..
благодаря @danzel еще раз