Hola colegas
Quiero compartir para compartir mi solución al problema, que se indica en el encabezado. El artículo fue inspirado por un colega
brnovk , que no era demasiado vago y sugirió una solución parcial (para mí) al problema. Hice mi "muleta" que me ayudó. Yo comparto contigo
Descripción del problema
Usé Ubuntu 18.04 para el trabajo y recientemente noté que al cambiar diseños por alt + shift en aplicaciones como Visual Studio Code, Skype, Slack y otras que fueron creadas usando Electron, surge el siguiente problema: el foco del campo de entrada va a panel superior de la ventana (menú). Por otras razones, me mudé a Fedora + KDE y me di cuenta de que el problema no desapareció. En busca de una solución, encontré un artículo maravilloso
Hágalo usted mismo Skype . Muchas gracias al camarada
brnovk por explicar en detalle el problema y compartir su manera de resolverlo. Pero el método especificado en el artículo cubrió la cuestión con una sola aplicación, a saber, Skype. Todavía era crítico para mí tratar con Visual Studio Code, porque escribir mensajes con un menú de salto es molesto, pero no tanto si está desarrollando. Además, un colega propuso una solución en la que el menú de la aplicación desaparece por completo, pero realmente no me gustaría perder el menú en VS Code.
Traté de entender cuál era el problema
Entonces, decidí tomarme el tiempo y descubrir qué estaba pasando. Ahora describiré brevemente en qué dirección me dirigí, tal vez alguien más conocedor de este asunto me ayudará a aclarar las dificultades que encontré.
Abrí Visual Studio Code y comencé a hacer clic en diferentes combinaciones Alt + <% something%>, mirando la reacción de la aplicación. En casi todos los casos, todas las combinaciones, excepto Alt + Shift, funcionaron sin pérdida de enfoque. Parecía que alguien se comía el Shift presionado, que siguió después de mantener presionado Alt y la aplicación cree que presioné Alt, luego no presioné nada, solté Alt y alegremente me concentré en su menú, lo que le pareció lógico.
Abrí la configuración de cambio de distribución del teclado (bueno, conoces esta larga lista con casillas de verificación y todo tipo de configuraciones para las teclas) y configuré la distribución de distribución del teclado con el botón Alt, sin presionar más.

Después de eso, Alt + Tab dejó de funcionar para cambiar de ventana. Solo Tab funcionó, es decir, alguien otra vez "comió" mi Alt. A quién "alguien" no le quedaban preguntas, pero no tengo idea de qué se puede hacer con él.
Pero como el problema tenía que resolverse al menos de alguna manera, entonces la solución vino a mi mente:
- En la configuración, deshabilite la tecla de acceso rápido para cambiar la distribución del teclado (elimine todas las casillas de verificación en la sección Cambiar a otra distribución);
- Crea tu propia tecla de acceso rápido para cambiar mi diseño
Descripción de la solución
Primero, instale un programa que le permita asignar comandos a las teclas Xbindkeys. Desafortunadamente, las herramientas estándar no me permitieron crear una tecla de acceso rápido para una combinación del tipo Alt + Shift a través de una hermosa interfaz. Se puede hacer para Alt + S, Alt + 1, Alt + shift + Y, etc. etc., pero esto no es adecuado para nuestra tarea.
sudo dnf install xbindkeysrc
Hay más sobre esto en
ArchWikiA continuación, cree un archivo de configuración de muestra para el programa. El ejemplo es bastante corto, con solo unos pocos comandos justo lo que necesita para descubrir cómo trabajar con él:
xbindkeys -d > ~/.xbindkeysrc
Como puede ver en el ejemplo que está en el archivo, necesitamos especificar la tecla de acceso rápido que queremos usar y el comando que debe ejecutarse. Se ve simple.
Como tecla de acceso rápido, puede usar la ortografía legible por humanos o usar códigos de tecla. Me funcionó solo con códigos, pero nadie te prohíbe experimentar un poco.
Para obtener los códigos, debe usar el comando:
xbindkeys -k
Se abrirá una pequeña ventana "X". ¡Solo necesita presionar las teclas con el foco en esta ventana! Solo en este caso verá algo como esto en la terminal:
[podkmax@localhost ~]$ xbindkeys -k Press combination of keys or/and click under the window. You can use one of the two lines after "NoCommand" in $HOME/.xbindkeysrc to bind a key. "(Scheme function)" m:0x4 + c:39 Control + s
En mi caso, el atajo de teclado Alt + Shift se ve así:
m:0x8 + c:50
Ahora debe asegurarse de que cuando hace clic en esta combinación, el diseño cambia exactamente. Encontré solo un comando de trabajo para especificar el diseño:
setxkbmap ru setxkbmap us
Como puede ver en el ejemplo, ella solo sabe cómo activar uno u otro diseño, por lo que no se me ocurrió nada excepto escribir un guión.
vim ~/layout.sh
Ahora, si los archivos .xbindkeysrc y layout.sh están en el mismo directorio, la forma final del archivo .xbindkeysrc se ve así:
Después de eso, aplique los cambios:
xbindkeys -p
Y puedes comprobarlo. No olvide deshabilitar las opciones para cambiar los diseños en la configuración predeterminada.
Resumen
Colegas, espero que este artículo pueda ayudar a alguien a deshacerse rápidamente del molesto problema. Personalmente, pasé todo el día libre resolviendo y resolviendo el problema de alguna manera, para no distraerme más durante las horas de trabajo. Escribí este artículo para ahorrarle tiempo y nervios a alguien. Muchos de ustedes usan una forma alternativa de cambiar diseños y no entienden cuál es el problema. Personalmente me gusta cambiar Alt + Shift. Y quiero que funcione de esa manera. Si comparte mi opinión y ha encontrado este problema, este artículo debería ayudarlo.