Você pode usar #InputLevel se usar o link AHK v1.1 +
::ee::by the way
#InputLevel, 1
r::Send e
Como faço para permitir que os Hotstrings sejam acionados por teclas de atalho remapeadas para que funcionem no Autohotkey?
r::Send e
::ee::by the way
Assim, quando pressiono rr no teclado, ele imprime "a propósito".
Atualmente, imprime apenas ao pressionar ee.
OBSERVAÇÃO: gostaria que uma solução que não envolvesse a atribuição de várias abreviações de acionamento fosse expandida para a mesma string.
Use isso:
r::Send {ASC 0101} ::ee::by the way ::rr::by the way
Aqui está um código:
r::
Loop
{
b:=GetKeyState("r")
if (b !=1)
{
ccounter := 1
Loop
{
c:=GetKeyState("r")
if (c=1)
{
MsgBox, by the way
return
}
Sleep, 50
ccounter:= ccounter + 1
if (ccounter = 60)
{
return
}
}
}
}
return
Irá aparecer a mensagem "a propósito" quando r for pressionado 2 vezes. Mas o tempo entre 2 r pressiona deve ser de no máximo 3 segundos. Você pode ajustar esse tempo alterando ccounter = 60
. Cada valor lá é igual a 50 milissegundos (1000 milissegundos = 1 segundo).
Além disso, use sempre o AutoHotkey e sua documentação do link (versão atual atualizada, novo site oficial)! O AutoHotkey e sua documentação do autohotkey.com estão desatualizados e você pode ter alguns problemas ao usá-los!
Usar um * com o hotstring significa que ele não irá esperar por um caractere de espaço / tabulação antes de substituir. Isso também permite que vários hotstrings compartilhem uma única definição.
r::Send e
:*:ee::
:*:rr::
Send by the way
Return
Isso funcionará:
:*:rr::
Goto ::ee
return
::ee::
Send by the way
return
Tags hotkeys autohotkey