¿Cómo evitar que gnome cambie el orden de entrada del idioma al cambiar de idioma?

¿Cómo evitar que gnome cambie el orden de entrada del idioma al cambiar de idioma?

Aquí está mi configuración de entrada (observe el orden de los idiomas en la lista, cuál es mi preferencia).

ingrese la descripción de la imagen aquí

Ahora, inicialmente, cuando invoco el acceso directo para cambiar la entrada, la lista se ve así (como se esperaba):

ingrese la descripción de la imagen aquí

Ahora selecciono la entrada en coreano (segundo elemento) y vuelvo a invocar el atajo de cambio. Así es como se ve la lista:

ingrese la descripción de la imagen aquí

Como puedes ver el orden cambió.
Y ahora, si selecciono otra entrada e intento cambiar nuevamente, la lista cambia por completo.

¿Hay alguna manera de evitar que gnome reorganice la lista todo el tiempo?

Creo que vale la pena mencionar que mi trabajo se trata de idiomas y cambio de idioma todo el tiempo (buscando un carácter chino, volviendo al teclado en inglés, volviendo a un diccionario coreano para encontrar una definición, etc...), encontré que el cerebro recuerda más fácilmente la ubicación de los idiomas en la lista que lo que realmente está escrito, y así es como lo hace Windows.
Desearía que hubiera una manera de solucionarlo; de lo contrario, tendría que informarlo como un problema en el sitio web de gnome.

Gracias de antemano.

Respuesta1

Desde entonces, no existe una extensión gnome-Shell a partir de ahora para el cambio estático de la distribución del teclado usando los atajos predeterminados Super+Espacio y Mayús+Super+Espacio.

y los comentarios sobre este enlaceOrden estático del cambio de distribución del teclado en Ubuntu 17.10 y versiones posteriores con GNOME 3de OP

El problema con la solución propuesta en el enlace (Alt+Shift) es que carece de retroalimentación visual y no puede usar el acceso directo para la entrada anterior (como win+shift+espacio para retroceder una entrada). Entonces no es realmente satisfactorio.

Podría lograr al menos un punto de dos (comentarios visuales y volver al diseño anterior) con la siguiente solución.

Solución alterna

Sistema operativo: Ubuntu 19.10

Referencia:Manipular el acceso directo predeterminado Super+Espacio para cambiar a la siguiente fuente de entrada sin representación gráfica

Cree dos scripts con los contenidos siguientes, los he denominado "SuSpace.sh" y "ShSuSpace.sh".

SuSpace.sh

#!/bin/bash

totalLang=$(gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager()._mruSources.length" | grep -oP "(?<=').*?(?=')")

currentLang=$(gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().currentSource.index" | grep -oP "(?<=').*?(?=')")

declare -i math=$currentLang+1

if [ "$math" -lt "$totalLang" ]; then
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources["$currentLang+1"].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[0].activate()"
fi

ShSuSpace.sh

#!/bin/bash

totalLang=$(gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager()._mruSources.length" | grep -oP "(?<=').*?(?=')")

currentLang=$(gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().currentSource.index" | grep -oP "(?<=').*?(?=')")

declare -i math=$currentLang-1

if [ "$math" -eq -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["$totalLang-1"].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["$currentLang-1"].activate()"
fi

Puede crear accesos directos personalizados para estos dos scripts según sus deseos.

ingrese la descripción de la imagen aquí

información relacionada