Yo para no complicarme con esas cosas hice lo siguiente:
- Shift + Lbutton : inicia la tarea (pone a true una variable global y se repite el bucle mientras esa variable es true)
- Ctrl + Lbutton : cancela la tarea (pone a false esa variable global)
Lo mismo tengo hecho con el botón derecho del ratón y con otras teclas.
Quizás no sea lo óptimo. No será eficiente el código, pero funciona. Claro, tengo que definir variables globales para detectar su valor en las diferentes hotkeys.
Code: Select all
SendMode Event ; para ark
global lbuttonPulsado := false
global dandoComida := True
^RButton:: dandoComida:= False
^MButton:: lbuttonPulsado:= False
+RButton::
{
dandoComida := True
while dandoComida
{
Send {E down}{E Up}
Sleep 30
}
Send {E Up} ; asegurarse de soltar la tecla al final
Return
}
+MButton::
{
lbuttonPulsado := True
while lbuttonPulsado
{
Send {LButton down}{Lbutton Up}
Sleep 10
}
Send {LButton Up}
Return
}
Si es para juegos, a veces no basta con pulsar una tecla, es mejor enviar los dos códigos, pulsar y soltar. Otras veces el Sendmode debe ser "event" en lugar de "Input"; A veces tienes que aumentar el Sleep para que detecte la cancelación; y si le sumas que fue uno de mis primeros scripts sin saber lo que hacía....