Doble click automatico al pulsar una tecla Topic is solved

Esta sección es para preguntas sobre programación/scripting usando AutoHotkey.

Moderator: Flipeador

Nucleorion
Posts: 50
Joined: 11 Dec 2016, 11:33

Doble click automatico al pulsar una tecla

Post by Nucleorion » 11 May 2022, 16:23

Hola,
Tengo este codigo escrito para que cuando mantengo la tecla pulsada haga doble click de manera continuada.

Code: Select all

NumpadDot::
Loop
{
	if not GetKeyState("NumpadDot", "P")
	break
	Click, LButton
	Sleep 20
	Click, LButton
	Sleep 50
}
return
¿Como puedo hacer para que solo tenga que pulsar la tecla y soltar para que se quede haciendo doble click, y cuando la vuelva a pulsar o haga click pare?

Probé a quitar el not del condicional pero no hacia nada.

garry
Posts: 3740
Joined: 22 Dec 2013, 12:50

Re: Doble click automatico al pulsar una tecla

Post by garry » 13 May 2022, 13:49

Code: Select all

NumpadDot::
T:=!T
if (T=1)
{
Loop
 {
 if not GetKeyState("NumpadDot", "P")
	break
 Send,{lbutton 2} 
 Sleep,1000
 }
return
}
else
{
  tooltip,nada  
  sleep,1500
  tooltip
}
return
esc::exitapp

Nucleorion
Posts: 50
Joined: 11 Dec 2016, 11:33

Re: Doble click automatico al pulsar una tecla

Post by Nucleorion » 20 May 2022, 04:19

Gracias

No consigo hacerlo funcionar. He intendado entenderlo por si lo podia ajustar y porque me gusta saber como funcionan los codigos pero no entiendo cuando T va a valer 0

El else entiendo que lo podia quitar, ya que no quiero que se abra ninguna ventana.

Y el esc::exitapp seria para terminar todo el script? tengo otros script que no quiero terminar.

La idea seria que un toque a NumpadDot y se ponga ha hacer clicks, otro toque a NumpadDot y que pare.

Tambien me dice que T no tiene valor, entonces he dejado el codigo así, pero sigo que tener mantenido pulsada la tecla para que vaya haciendo clicks
Y claro, siempre que pulse NumpadDot T volverá a valer 1, entonces no se...

Code: Select all

NumpadDot::
T=1
T:=!T
if (T=1)
{
Loop
 {
 if not GetKeyState("NumpadDot", "P")
	break
 Send,{lbutton 2} 
 Sleep,100
 }
return
}
return

garry
Posts: 3740
Joined: 22 Dec 2013, 12:50

Re: Doble click automatico al pulsar una tecla  Topic is solved

Post by garry » 20 May 2022, 07:02

@Nucleorion , Buenos días

Code: Select all

;- Doble click automatico al pulsar una tecla 
;- https://www.autohotkey.com/boards/viewtopic.php?f=40&t=103955
;-
;- click Hotkey > NumpadDot  > START
;- click Hotkey > NumpadDot  > STOP
;- 
#Warn
#MaxThreadsPerHotkey 2
Setworkingdir,%a_scriptdir%
t:=""

NumpadDot::
t:=!t
if (t)
{
  loop
    {
    if (!t)
       break
	tooltip, Send`,{lbutton 2}      ;- see 
    Send,{lbutton 2} 
    sleep,1000
    tooltip	
    }
	
}	
return
;-----------------------
esc::exitapp               ;- exit this script /  remove if needed 
;-----------------------

Nucleorion
Posts: 50
Joined: 11 Dec 2016, 11:33

Re: Doble click automatico al pulsar una tecla

Post by Nucleorion » 17 Jun 2022, 03:18

Gracias Garry!
Perdona por tardar tanto pero no lo habia podido probar hasta hoy. Me sale una ventana con un warning pero si la cierro sigue funcionando Image
Entonces una vez cerrada lo activo y desactivo correctamente con el boton.

Lo he ajustado tambien para tener que pulsar el control ademas de NumpadDot para activarlo, a veces se me queda activado todo el rato. y ahi me viene bien el exitapp

Lo tengo ahora asi:

Code: Select all

NumpadDot::
Loop
{
	if not GetKeyState("NumpadDot", "P")
	break
	Click, LButton
	Sleep 20
	Click, LButton
	Sleep 50
}
return



#Warn
#MaxThreadsPerHotkey 2
Setworkingdir,%a_scriptdir%
t:=""

^NumpadDot::
t:=!t
if (t)
{
  loop
    {
    if (!t)
       break
	;~ tooltip, Send`,{lbutton 2}      ;- see
    Send,{lbutton 2}
    sleep,200
    tooltip
    }

}
return

;~ esc::exitapp
Como ademas de ese tengo otras asignaciones de teclas he quitado el exitapp, solo lo dejo para las pruebas y poder cerrarlo cuando se queda activado y no se desactiva.

Post Reply

Return to “Pedir Ayuda”