Tecla como si fuera un doble click

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :| :mrgreen: :geek: :ugeek: :arrow: :angel: :clap: :crazy: :eh: :lolno: :problem: :shh: :shifty: :sick: :silent: :think: :thumbup: :thumbdown: :salute: :wave: :wtf: :yawn: :facepalm: :bravo: :dance: :beard: :morebeard: :xmas: :HeHe: :trollface: :cookie: :rainbow: :monkeysee: :monkeysay: :happybday: :headwall: :offtopic: :superhappy: :terms: :beer:
View more smilies

BBCode is ON
[img] is OFF
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Tecla como si fuera un doble click

Re: Tecla como si fuera un doble click

Post by Flipeador » 05 Sep 2018, 15:44

Code: Select all

Up::
SetTimer _up, off
if ( A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey < 150 )
    SendInput ^c
else {
    KeyWait Up, T0.5
    if (ErrorLevel)
    {
        while (GetKeyState("Up", "P")) {
            SendInput {Up}
            Sleep 50
        }
        return
    }
    SetTimer _up, -150
}
return

_up:
SendInput {Up}
return

Re: Tecla como si fuera un doble click

Post by randysejas » 04 Sep 2018, 07:14

Gracias Flipeador! funcionó muy bien para lo que quería (y si... eso de leer la documentación es necesario)..... ahora traté de implementar el código que hiciste en el total commander, pero me doy cuenta que cuando quiero navegar con los cursores (manteniendo presionada la tecla de arriba por mucho rato) va ejecutando el código del programa como si estuviera presionando varias veces la tecla de arriba...... abría alguna forma de que el código se ejecute cuando se presiona la tecla (o sea presionar y soltar)??... muchas gracias por adelantado!

Re: Tecla como si fuera un doble click

Post by Flipeador » 02 Sep 2018, 11:56

Para configurar los tiempos prueba modificar los valores 150, para la tercera pulsación, debes aumentar (disminuir si tenemos en cuenta el signo) el del temporizador _up2.

Para cuando se presiona una vez, ¿que quieres que haga?.
Para dejarlo solo con 2:

Code: Select all

Up::
SetTimer _up, off
if ( A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey < 150 )
    SendInput ^c
else
    SetTimer _up, -150
return

_up:
SendInput {Up}
return
Deberías leer que hace cada comando en la documentación, solo tienes que aplicar un poco de lógica, nada complicado.

Re: Tecla como si fuera un doble click

Post by randysejas » 02 Sep 2018, 11:51

Gracias Flipeador... funciona!... pero para el caso de las 3 presionadas (3clicks), veo que se tiene que hacer muy rápido y a veces funciona y a veces no (funciona al 100% si te concentras demasiado para presionar 3 veces de forma muuy rápida).... qué es lo que se debería de cambiar para configurar los tiempos?....... y por favor si no es mucho pedir, si puedes escribir el código solo para cuando se presiona 1 vez y 2 veces (ya no para presionar 3 veces)..... muchas gracias!

Re: Tecla como si fuera un doble click

Post by Flipeador » 02 Sep 2018, 11:34

Hola

Code: Select all

n := 0

Up::
SetTimer _up, off
SetTimer _up2, off
if ( A_PriorHotkey == A_ThisHotkey && A_TimeSincePriorHotkey < 150 )
{
    if (n)
    {
        SendInput ^v
        n := 0
        return
    }
    SetTimer _up2, -150
    n := 1
}
else
    SetTimer _up, -150
return

_up:
n := 0
SendInput {Up}
return

_up2:
n := 0
SendInput ^c
return

Tecla como si fuera un doble click

Post by randysejas » 02 Sep 2018, 10:17

Buenas!... quisiera que al apretar 2 veces y de forma inmediata (algo así como un doble click con el mouse) en este caso el del cursor arriba... haga un Ctrl+C y si se podría hacer otra cosa con 3 pulsaciones tal vez un Ctrl+V

1 pulsasión de tecla arriba... arriba
2 pulsasiones de tecla arriba... Ctrl+C
3 pulsasiones de tecla arriba... Ctrl+V

Es posible?... muchas gracias por adelantado

Top