O script AutoHotKey mais confiável do meu teste foi o seguinte:
*CapsLock::
SetKeyDelay -1 ; If the destination key is a mouse button, SetMouseDelay is used instead.
;send {Blind}{CapsLock DownTemp}
PostMessage, 0x50, 0x02, 1,, A ; 0x50 is WM_INPUTLANGCHANGEREQUEST. 0x02 is forward
return
*CapsLock up::
SetKeyDelay -1 ; See note below for why press-duration is not specified with either of these SetKeyDelays.
;send {Blind}{CapsLock Up}
PostMessage, 0x50, 0x04, 1,, A ; 0x50 is WM_INPUTLANGCHANGEREQUEST. 0x04 is backward
return
Nota: você precisa ter 2 idiomas de entrada já configurados no painel de controle da região / idioma do Windows.
Versão executável autônoma aqui .
Para parar o script, clique com o botão direito do mouse na barra de tarefas e clique em pausar / sair.
Se você quiser manter a funcionalidade de caps lock (ou seja, pressionar para ativar o caps lock E alterar o idioma, liberá-lo irá reverter para o idioma anterior, mas deixe o caps lock ativado). Basta remover os dois caracteres ;
no início das duas linhas send
.
Veja quão rápido eu digito isto:;; è; è; è; è; è; è; è
Muito rápido, né?