Cambio de idioma de diseño sin modo / sin estado con Bloq Mayús, de nuevo (18.04 LTS Bionic Beaver)

12

Esto se ha pedido innumerables veces, así que intentaré ser breve.

Tengo dos diseños de entrada , ucraniano e inglés, y quiero:

  • para usar Caps Lockpara un cambio rápido;
  • no tengo ningún retraso impuesto, soy un tipeador rápido;
  • no tiene errores de modo :
    • (cualquier número de) CapsLockestablece inglés,
    • (cualquier número de) ShiftCapsLockestablece ucraniano;
  • ver el diseño actual en el widget estándar.

Ya probé tres (!) GUI para configurar esto, la Configuración de Gnome, el gnome-tweak-tool, el  dconf-editor/ gsettings. Nada funciona. Tweaksse bloquea al azar.

Suficiente tarea hecha

Lo pregunté hace 4 años por 14.04 LTS. Desde entonces, apareció esa ventana emergente de la interfaz de usuario y todo se rompió. Ahora puedo configurar fácilmente la alternancia con estado CapsLock , pero aun así, va con ese retraso irritante. Básicamente inutilizable en momentos en que necesito cambiar el idioma de 4 a 5 veces por oración.

Este hilo sugiere la caps:noneopción XKB como una solución alternativa de errores. He intentado eso, tanto con gsettingsCLI como dconf-editor, y en combinaciones con la grp:shift_caps_switchopción XKB. No dados. Algo triunfa sobre esas características centrales de XKB como parece.

Este hilo ofertas caps:menuopción XKB como un truco para ser capaces de unirse CapsLocken el Gnome Settingsteclado → Dispositivos →. Funciona un poco, pero A) proporciona conmutación cíclica / con estado; B) Tengo que esperar un tiempo de espera decente en cada cambio.

Este hilo pregunta exactamente lo que necesito, pero no tiene respuesta y es peor: se cierra como duplicado de otras dos preguntas (???) ninguna de las cuales es la misma, y ​​ninguna de las cuales me da una solución de trabajo. ¿Qué les pasa chicos?

Hay otra coincidencia exacta , ¡ay, sin respuesta también!


Se busca: solución limpia

ulidtko
fuente
1
¿Qué pasa con la reputación en lugar de $ por una recompensa, digamos +50 puntos de reputación?
karel
@karel No veo nada de malo en eso, sin embargo, las preguntas "nuevas" no son elegibles para recompensas de repeticiones en stackexchange. Se puede iniciar una recompensa por una pregunta dos días después de la pregunta ; por favor, desestime el voto.
ulidtko
No voté en contra. Todo lo que hice fue comentado.
karel
Okay. No obstante, acudía tanto ofrecieron y ganado recompensas de reputación específicamente en AskUbuntu. Esta pregunta también va a tener una cuando llegue el momento.
ulidtko
1
@ulidtko Intentaré echar un vistazo a las gnome-tweaks-tool. No prometo si puedo desenterrar algo y necesitaré bastante tiempo, ya que últimamente estoy ocupado, pero publicaré una respuesta si descubro algo relacionado gnome-tweak-tool. Siéntase libre de dejarme un comentario aquí o contactarme de otras maneras
Sergiy Kolodyazhnyy

Respuestas:

5

En Ubuntu 18.04, por defecto hay una opción para elegir Caps_Locky Shift+ Caps_Lockpara lograr el comportamiento que estamos buscando gnome-tweaks. Pero esto no está funcionando y no podría entender la razón.

ingrese la descripción de la imagen aquí

Pude lograr este comportamiento con la siguiente solución.

Vea este enlace para un video de 20 segundos. https://imgur.com/QNdrVqa

primero verifique los siguientes comandos en la terminal si están cambiando el idioma de entrada.

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()"

y

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()"

Bueno, ellos están trabajando.

ingrese la descripción de la imagen aquí

necesitamos vincular estos comandos a las pulsaciones de teclas de Caps_Locky Shift+Caps_Lock

puede lograr esto xbindkeyssi xbindkeys aún no está instalado, instálelosudo apt install xbindkeys

  1. crear un archivo .xbindkeysrcen la carpeta $ HOME
    touch ~/.xbindkeysrc
  2. para conocer el código clave / id como se llama
    ejecutar xbindkeys --keyuna vez que aparece el cuadro blanco, presione el Caps_Lockbotón, hágalo también para el Shiftbotón y copie los códigos de teclas / identificadores como se muestra a continuación

ingrese la descripción de la imagen aquí

  1. este paso es opcional. Desactiva el bloqueo de mayúsculas. Ver abajo gif. Si el bloqueo de mayúsculas no está desactivado ... cuando presione la tecla varias veces, se alternará mientras intenta cambiar el idioma. Lo he deshabilitado. Pero se basa en su interés.

ingrese la descripción de la imagen aquí

  1. Abra el archivo .xbindkeysrc
    gedit ~/.xbindkeysrcy edítelo como se muestra a continuación según los resultados de los pasos anteriores

Cambie los valores en el contenido a continuación de acuerdo con los resultados que obtuvo en el paso 2 anterior. Contenido:

"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()""
m:0x10 + c:66

"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()""
Shift+Mod2 + Shift_L+m:0x10 + c:66
  1. Guarde el archivo, cierre y reinicie.
PRATAP
fuente
2
Dios mío, funcionó! Ni siquiera necesitaba cerrar la sesión, incluso reiniciar ( xbindkeys --poll-rc). También dejé la grp:shift_caps_switchopción XKB activada, lo que cambió la forma en que se imprimen mis códigos clave ( m:0x0 + c:66 ISO_First_Group& m:0x1 + c:66 Shift + ISO_First_Group); No hay problemas de eso. ¡Incluso el LED del teclado brilla! Increíble trabajo, deberías haber obtenido esta recompensa. (gnome-tweaks autores, sean quienes sean, reciben un ceño gruñón de mí y otros.)
ulidtko
5

Hay un informe de error al que puede suscribirse:

El informe de error dice:

El panel del teclado tiene opciones para cambiar de entrada, pero no permite usar mayúsculas como cambio de idioma.

Pasos para reproducir:

  1. teclado de centro de control de gnomo
  2. Desplácese hacia abajo a la sección 'Escribir'
  3. Haga clic en Cambiar a la siguiente fuente de entrada
  4. Presione Caps

Resultado esperado: la tecla de bloqueo de mayúsculas se acepta como tecla de cambio Resultados reales: la tecla de mayúsculas se ignora en la ventana de selección.

PS Lo mismo ocurre con 'Cambiar a la fuente de entrada anterior' y la combinación de teclas Mayúsculas-Mayúsculas.

Soluciones de errores

El error está actualmente en la "Lista de deseos". Se proponen estas soluciones alternativas:

Solución 1

Encontró una solución para este error:

  1. Instalar dconf-editor (sudo apt-get install dconf-editor)
  2. Vaya a / org / gnome / desktop / wm / keybindings /
  3. Seleccione la fuente de entrada de interruptor de llave, apague "Usar valor predeterminado" y establezca "Valor personalizado" en ['Bloq Mayús']
  4. (Opcional) También puede cambiar el valor de switch-input-source-backward a algo como ['Caps_Lock'] (nuevamente, desactivando "Usar valor predeterminado")

Solución 2

Otra forma de hacer esto: 1. Instalar ajustes de GNOME (gnome-tweak-tool) 2. Abra la aplicación Tweaks 3. Cambie al panel Teclado y mouse 4. Haga clic en Opciones de diseño adicionales 5. Use la sección "Cambiar a otro diseño"

Suscríbase al informe de errores

Recomendaría suscribirse al informe de errores y agregar sus propias experiencias. Cuantas más personas se suscriban al informe de error, más rápida será la solución (generalmente).

WinEunuuchs2Unix
fuente
La solución 1 no se ajusta a mis requisitos, proporciona una conmutación cíclica , que no es lo que quiero. La solución 2 (Gnome-Tweaks) ha sido juzgada y golpeada hasta la muerte; Puedo hacer que se bloquee, pero no puedo hacer que funcione. Gracias por (otro enlace) sin embargo.
ulidtko
Voté su pregunta para atraer más atención. Publicar todas sus pruebas y errores en el informe de errores puede ser útil.
WinEunuuchs2Unix