As teclas
As chaves que você está procurando são:
-
para editar as fontes de entrada:
org.gnome.desktop.input-sources sources
-
para editar o atalho de teclado para alternar entre idiomas:
org.gnome.desktop.wm.keybindings switch-input-source
-
para mudar a fonte de entrada para trás:
org.gnome.desktop.wm.keybindings switch-input-source-backward
Os comandos para editar as configurações
Exemplo de comandos para editar os três da linha de comando:
-
Para editar as fontes de entrada, defina as fontes de entrada conforme mencionado em sua pergunta:
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'it'), ('xkb', 'de')]"
-
para definir a combinação de teclas de atalho para Ctrl + espaço
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Primary>space']"
-
para definir a combinação de teclas de atalho para alternar para trás Shift + Super + espaço
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift><Super>space']"
Os comandos para obter as configurações atuais
gsettings get org.gnome.desktop.input-sources sources
gsettings get org.gnome.desktop.wm.keybindings switch-input-source
gsettings get org.gnome.desktop.wm.keybindings switch-input-source-backward
Como encontrar essas chaves
Você pode pesquisar por palavras-chave no banco de dados listando todas as chaves com o comando:
gsettings list-recursively
que irá listar todas as chaves existentes, ou (o que faço regularmente) instalar dconf-editor
e simplesmente encontrar sua (s) palavra (s) -chave com Ctrl + F . p>
Editar
Conforme solicitado em um comentário, adicionei um pequeno script para percorrer as origens de entrada da linha de comando:
#!/usr/bin/env python3
import subprocess
import sys
src = sys.argv[1]
key = "org.gnome.desktop.input-sources"
get = lambda cmd: subprocess.check_output(["/bin/bash", "-c", cmd]).decode("utf-8").strip()
src_list = len(eval(get("gsettings get "+key+" sources")))-1
current = int(get("gsettings get "+key+" current").split()[-1])
if src == "+":
set_new_value = "gsettings set "+key+" current "+(str(current+1) if current < src_list else "0")
elif src == "-":
set_new_value = "gsettings set "+key+" current "+(str(current-1) if current > 0 else str(src_list))
subprocess.Popen(["/bin/bash","-c", set_new_value])
Para executá-lo
- Salve o script em um arquivo vazio, como
switch_source.py
-
Execute-o pelo comando:
python3 /path/to/switch_source.py +
para ir para a próxima fonte de entrada e
python3 /path/to/switch_source.py -
para ir para o anterior