Outras vezes, simplesmente ativamos a tecla acidentalmente enquanto estamos escrevendo.
No Word e no Excel tem uma função muito legal que detecta esse tipo de pROBLEMA e o corrige automaticamente.
Pois bem, aqui está um script que faz a mesma função, mas que funciona em qualquer programa que você estiver utilizando!
Code: Select all
; Desliga o CapsLock quando se começa a digitar com a caixa alta invertida.
; Simula a mesma função do Word e Excel que faz a correção automaticamente.
#Requires AutoHotkey v2.0
~CapsLock::
{
; O objeto InputHook irá gravar tudo o que for digitado até que o espaço, tab ou enter seja pressionado
CapsHook := InputHook("V", "{Space}{Tab}{Enter}{NumpadEnter}")
; A função será executada enquanto o CapsLock estiver ligado
While GetKeyState("CapsLock", "T")
{
; Inicia a captura e aguarda até que as teclas acima sejam pressionadas.
CapsHook.Start()
CapsHook.Wait()
CapsHook.Stop()
; Uma expressão regular irá chegar se a primeira letra é minúscula seguida de uma ou mais letras maíusculas
if CapsHook.Input ~= "^[a-zà-ú][A-ZÀ-Ú]+"
{
; Se for o caso, irá desligar a tecla CapsLock, apagar o texto digitado errado e enviar o texto correto
SetCapsLockState 0
Send "{Backspace " StrLen(CapsHook.Input) + 1 "}"
Send StrTitle(CapsHook.Input) "{" CapsHook.EndKey "}"
}
}
}