Windows mantiene un lenguaje de entrada diferente para cada hilo. Cuando se cambia a una ventana de otro hilo, su lenguaje de entrada puede cambiar. Debido a que los hilos no son visibles para el usuario, puede parecer aleatorio, y estoy de acuerdo en que esto es molesto como el infierno.
No hay ninguna opción incorporada para evitar eso en Windows, puedes usar software de terceros o algo aún mejor.
El “algo aún mejor” es utilizar Microsoft Keyboard Layout Creator para crear un diseño personalizado que utilice CapsLock como cambio de idioma, y luego eliminar todos los demás diseños (incluyendo el inglés por defecto). He hecho esto con inglés+ruso y no puedo expresar lo mejor que ha sido mi vida desde entonces. Comprueba los pros:
- El idioma de entrada se convierte en global del sistema y nunca cambia por sí mismo.
- Siempre puedes ver qué idioma es el actual mirando el LED del teclado, incluso en una aplicación a pantalla completa cuando el indicador de idioma no es visible.
- CapsLock es mucho más fácil de pulsar que Alt+Shift, Ctrl+Shift, Cmd+Space o cualquier otra cosa, tu dedo meñique siempre está cerca.
- Es más difícil pulsar accidentalmente CapsLock que Alt+Shift o Ctrl+Shift.
- Puedes añadir caracteres adicionales a tu diseño que te resulten útiles, que puedes introducir con AltGr+?, por ejemplo: guión largo -, comillas inglesas “” “, comillas rusas ”“, flechas ← → ↑↓ , símbolos matemáticos ≠ ± ≈ (he introducido todos estos con RightAlt+Key y sin software adicional ni códigos de caracteres)
- No hay ninguna aplicación de terceros en ejecución, lo que significa que no hay bugs, ni iconos en la bandeja, ni ventanas emergentes, ni anuncios, ni uso de memoria adicional.
- Puedes tener el mismo método de cambio de idioma en todos los sistemas operativos que utilices (por ejemplo, en Mac OS X existe el creador de la distribución del teclado Ukulele), en lugar de utilizar atajos específicos del sistema operativo en cada uno de ellos.
Los contras son:
- No funciona con tres o más idiomas.
- Microsoft Word y probablemente algunos otros programas no detectarán en qué idioma estás escribiendo, y el corrector ortográfico puede no funcionar correctamente. En el caso del ruso, se soluciona activando la detección automática de idiomas; sin embargo, es posible que no funcione tan bien con los pares de idiomas basados en el latín (por ejemplo, inglés+italiano).
Antes de encontrar esta solución, utilicé el programa SwitchIt! para hacer la configuración global del idioma de entrada. Ya no está desarrollado, así que no sé si todavía funciona en XP/Vista/Win7.