O Windows mantém uma linguagem de entrada diferente para cada linha. Quando muda para uma janela de outro tópico, o seu idioma de entrada pode mudar. Como os tópicos não são visíveis para o utilizador, pode parecer aleatório, e eu concordo que isto é irritante como o inferno.
Não há opção incorporada para evitar que, no Windows, se possa usar software de terceiros ou algo ainda melhor.
O “algo ainda melhor” é usar o Microsoft Keyboard Layout Creator para criar um layout personalizado que usa CapsLock como um interruptor de idioma, e depois apagar todos os outros layouts (incluindo o inglês por defeito). Fiz isto com Inglês+Russo e não consigo expressar como a minha vida tem sido melhor desde então. Verifique os prós:
- A linguagem de entrada torna-se sistema-global e nunca muda por si só.
- É sempre possível ver qual é a língua actual olhando para o LED no teclado, mesmo numa aplicação de ecrã inteiro quando o indicador da língua não está visível.
- CapsLock é muito mais fácil de carregar do que Alt+Shift, Ctrl+Shift, Cmd+Space ou qualquer outra coisa, o seu dedo mindinho está sempre perto dele.
- É mais difícil pressionar acidentalmente o CapsLock do que Alt+Shift ou Ctrl+Shift.
- Pode adicionar caracteres adicionais ao seu layout que lhe sejam úteis, que podem ser introduzidos com AltGr+??, por exemplo: traço longo -, aspas inglesas “” “, aspas russas ”“, setas ← → ↑↓ , símbolos matemáticos ≠ ± ≈ (introduzi todos estes com RightAlt+Key e sem software adicional e sem códigos de caracteres)
- Não há nenhuma aplicação de terceiros em execução, o que significa que não há bugs, nem ícones de bandeja, nem popups, nem anúncios, nem uso adicional de memória.
- Pode ter o mesmo método de troca de linguagem em todos os sistemas operativos que utiliza (por exemplo, no Mac OS X existe o criador de layout de teclado Ukulele), em vez de usar atalhos específicos do SO em cada um deles.
Cons são:
- Não funcionará com três ou mais idiomas.
- O Microsoft Word e provavelmente alguns outros programas não detectarão em que língua está a escrever, e a verificação ortográfica pode não funcionar correctamente. Para o russo, resolve-se ligando a detecção automática da língua; no entanto, pode não funcionar tão bem para pares de línguas com base no latim (por exemplo, inglês+italiano).
Antes de encontrar esta solução, usei o programa SwitchIt! para tornar a definição da língua de entrada global. Já não está desenvolvido, por isso não sei se ainda funciona em XP/Vista/Win7.