Transforme sua Caps Lock: Atalhos poderosos com AutoHotkey!

A tecla Caps Lock, frequentemente negligenciada em sua função original, pode ser reinventada como uma ferramenta poderosa em seu teclado. Este guia apresentará um script AutoHotkey que transforma a Caps Lock em uma tecla modificadora, permitindo a criação de atalhos personalizados para otimizar seu fluxo de trabalho.

Funcionalidades Principais

Com este script, você poderá executar ações rápidas, como pesquisar no Google (Caps Lock + G) ou obter a definição de uma palavra no dicionário (Caps Lock + D), diretamente de qualquer aplicativo no Windows. O melhor de tudo, esses atalhos são totalmente personalizáveis para se adequarem às suas necessidades.

Além disso, o script mantém a funcionalidade original da Caps Lock. Basta pressionar a tecla duas vezes rapidamente para ativar ou desativar o bloqueio de letras maiúsculas. Caso contrário, a Caps Lock operará como uma tecla modificadora para seus atalhos.

Introdução ao AutoHotkey

AutoHotkey é uma ferramenta gratuita para Windows que permite a execução de scripts em segundo plano. Esses scripts podem ser criados por você ou baixados, e geralmente esperam por comandos de teclado para desencadear ações. AutoHotkey oferece uma forma eficiente de personalizar atalhos e remapear teclas no Windows.

Anteriormente, mostramos como desabilitar a tecla do Windows para evitar interrupções em jogos de tela cheia. Com AutoHotkey, você pode personalizar o comportamento do seu teclado sem precisar remover fisicamente as teclas.

Instalação e Configuração

Baixe AutoHotkey e siga as instruções de instalação. Em seguida, obtenha o script modificador CapsLock.

Descompacte o arquivo AHK e coloque-o em uma pasta de sua escolha. Para iniciar o script, clique com o botão direito do mouse sobre ele e selecione “Executar Script”.

O script agora estará ativo em segundo plano. Para usar o Caps Lock como um botão de alternância, pressione-o duas vezes rapidamente.

Caso contrário, a Caps Lock servirá como uma tecla modificadora para os seguintes atalhos, que podem ser usados em qualquer lugar do Windows:

  • Caps Lock + d: Pesquisa a definição da palavra selecionada no dicionário.
  • Caps Lock + g: Pesquisa no Google o texto selecionado.
  • Caps Lock + t: Busca a palavra selecionada em um dicionário de sinônimos.
  • Caps Lock + w: Pesquisa o texto selecionado na Wikipédia.

Se você quiser expandir essa lista, o script permite adicionar seus próprios atalhos personalizados com um conhecimento básico de AutoHotkey.

Para gerenciar o AutoHotkey, procure o ícone verde com um “H” branco na bandeja do sistema. Clique com o botão direito sobre ele e selecione “Sair” para desativar o script.

Entendendo o Script

Para analisar o script, clique com o botão direito sobre ele e selecione “Editar Script”. O arquivo será aberto no Bloco de Notas, permitindo que você examine o código. O script é relativamente curto e fácil de entender, mas é importante revisá-lo antes de executar qualquer script desconhecido.

Este script foi gentilmente cedido por Dave Kellog. A seguir, o trecho de código responsável por diferenciar o uso do Caps Lock como modificadora ou tecla de alternância:

CapsLock::
KeyWait, CapsLock ; Aguarda até que Capslock seja liberada.
KeyWait, CapsLock, D T0.2 ; ErrorLevel = 1 se CapsLock não pressionada em 0,2 segundos.
if ((ErrorLevel = 0) && (A_PriorKey = "CapsLock") ) ; É um duplo toque em CapsLock?
{
SetCapsLockState, % GetKeyState("CapsLock","T") ? "Off" : "On" ; Alterna o estado do LED CapsLock
}
return

Esse trecho verifica se o Caps Lock é pressionado duas vezes para ativar ou desativar seu estado original. Caso contrário, o script captura a tecla e a utiliza como modificadora.

O restante do script contém os atalhos personalizados e funções para salvar e restaurar a área de transferência, que é necessária para executar ações sobre textos selecionados.

Veja o script completo:

#NoEnv ; Recomendado para desempenho e compatibilidade com futuras versões do AutoHotkey.
; #Warn ; Ativar avisos para auxiliar na detecção de erros comuns.
#SingleInstance FORCE ; Ignorar caixa de diálogo de invocação e substituir silenciosamente a instância anterior do script em execução.
SendMode Input ; Recomendado para novos scripts devido à sua velocidade e confiabilidade superiores.
SetWorkingDir %A_ScriptDir% ; Garante um diretório inicial consistente.


;================================================================================================
; Processamento do CapsLock. Deve tocar duas vezes no CapsLock para alternar o modo CapsLock.
;================================================================================================
; Deve tocar duas vezes no CapsLock para alternar o modo CapsLock ligado ou desligado.
CapsLock::
KeyWait, CapsLock ; Aguarda até que Capslock seja liberada.
KeyWait, CapsLock, D T0.2 ; ErrorLevel = 1 se CapsLock não pressionada em 0,2 segundos.
if ((ErrorLevel = 0) && (A_PriorKey = "CapsLock") ) ; É um duplo toque em CapsLock?
{
SetCapsLockState, % GetKeyState("CapsLock","T") ? "Off" : "On" ; Alterna o estado do LED CapsLock
}
return



;================================================================================================
; Teclas de atalho com modificador CapsLock. Ver https://autohotkey.com/docs/Hotkeys.htm#combo
;================================================================================================
; Obter a DEFINIÇÃO da palavra selecionada. 
CapsLock & d::
ClipboardGet()
Run, http://www.google.com/search?q=define+%clipboard% ; Inicia com o conteúdo da área de transferência
ClipboardRestore()
Return

; GOOGLE o texto selecionado.
CapsLock & g::
ClipboardGet()
Run, http://www.google.com/search?q=%clipboard% ; Inicia com o conteúdo da área de transferência
ClipboardRestore()
Return

; Dicionário de SINÔNIMOS da palavra selecionada
CapsLock & t::
ClipboardGet()
Run http://www.thesaurus.com/browse/%Clipboard% ; Inicia com o conteúdo da área de transferência
ClipboardRestore()
Return

; WIKIPEDIA da palavra selecionada
CapsLock & w::
ClipboardGet()
Run, https://en.wikipedia.org/wiki/%clipboard% ; Inicia com o conteúdo da área de transferência
ClipboardRestore()
Return

;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

;================================================================================================
; Funções auxiliares da área de transferência.
;================================================================================================
ClipboardGet()
{
OldClipboard:= ClipboardAll ; Salva a área de transferência existente.
Clipboard:= ""
Send, ^c ; Copia o teste selecionado para a área de transferência
ClipWait 0
If ErrorLevel
{
MsgBox, Nenhum Texto Selecionado!
Return
}
}


ClipboardRestore()
{
Clipboard:= OldClipboard
}

Embora existam scripts que transformam a Caps Lock em modificadora, este se destaca por manter a função de alternância ao pressionar a tecla duas vezes, demonstrando inteligência e versatilidade. Agradecemos a Dave Kellog por compartilhar esta solução.