[AutoHotkey v2] - rESOLVA ESSE PROBLEMA

Compartilhe seus scripts, funções, ferramentas e programas

Moderator: Gio

Post Reply
pedro45_vs
Posts: 39
Joined: 28 Jun 2020, 18:46

[AutoHotkey v2] - rESOLVA ESSE PROBLEMA

Post by pedro45_vs » 06 Feb 2023, 18:45

Muitas vezes precisamos escrever algum texto em CAIXA ALTA em um campo mas esquecemos o CapsLock ativado. :headwall:
Outras vezes, simplesmente ativamos a tecla acidentalmente enquanto estamos escrevendo. :crazy:
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! :superhappy:

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 "}"
        }
    }
}

Post Reply

Return to “Scripts e Funções”