Tecla que envia uma lista de comandos ou parte dela Topic is solved

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

LuanMts
Posts: 18
Joined: 24 May 2020, 00:36

Tecla que envia uma lista de comandos ou parte dela

24 May 2020, 01:18

Gostaria de um código em AHK que quando eu segurasse a tecla x, de acordo com o tempo que eu segurasse, executasse uma ação diferente. Por exemplo:

Apenas clicar no x: digita "a"
Segurar o x por 30 ms: digita "a" assim que apertado e "b" assim que der os 30 ms
Segurar o x por 60 ms: digita "a" assim que apertado ; "b" assim que der os 30 ms ; e digita "c" assim que der os 60 ms
User avatar
Gio
Posts: 1095
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Tecla que envia uma lista de comandos ou parte dela  Topic is solved

25 May 2020, 12:03

Bom dia LuanMts.

Seja bem-vindo ao fórum da comunidade do AutoHotkey.

Creio que 30ms é um intervalo de tempo muito pequenos para que o usuário possa controlar a rotina adequadamente, mas se você realmente quiser, pode ajustar os tempos abaixo para esse valor (coloquei 200ms para efeitos de exemplo).

Code: Select all

x::
Send a
INICIO := A_TickCount
B_ESCRITO := 0
C_ESCRITO := 0
While (GetKeyState("x", "P"))
{
	CONTADOR := A_TickCount
	If (((CONTADOR - INICIO) > 200) AND (B_ESCRITO = 0))
	{
		Send b
		B_ESCRITO := 1
	}
	If (((CONTADOR - INICIO) > 400) AND (C_ESCRITO = 0))
	{
		Send c
		C_ESCRITO := 1
	}
}
Return
LuanMts
Posts: 18
Joined: 24 May 2020, 00:36

Re: Tecla que envia uma lista de comandos ou parte dela

25 May 2020, 22:37

Muito obrigado, amigo!
Estava tentando fazer há algum tempo já. Eu estava usando um "if" dentro do outro ao invés duas condicionais em um "if" só como você usou, funciona também... Mas estava deixando de fora alguns parenteses e estava esquecendo do "return" no final. Muito agradecido!

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 4 guests