Evitar el bucle al presionar dos veces la misma tecla de método abreviado sin cambiar el original 1 presionar la función de tecla de método abreviado

Quiero producir algo como esto: 1. Cuando presiono Esc 2 veces (doble) quiero producir mi "acción personalizada inventada" 2. Cuando presiono Esc 1 vez quiero producir el Escape original

Ok, aquí está la explicación de mi pregunta:

  • This code should apply as global, means when i start the script it will work on all windows
  • %ALAT1% is variable the Active Windows title , abbreviation "Anime Land Akui Transform" some kind of silly anime game
  • If i press Esc one time . it will "pause" the game, but when i press Esc 2 times, it will "exit" the game"
  • I want to do a custom action when i press Esc 2 times, but i also don't want the original Esc key function got override when i press 1 time.

    Escape::
    if (A_PriorHotkey = A_ThisHotKey and A_TimeSincePriorHotkey < 400) 
    WinActivate, %ALAT1%
    IfWinActive, ahk_class TscShellContainerClass
    {
    Send {F5} ; F5 contains another action  
    }. 
    else
    {
     *Do original function of Escape i.e Send {Escape}     ; Now this is the problem    
    }
    return
    

después de probar el código de arriba: supongamos que presiono el botón "Escape", se reproducirá el Escape como si presionara Escape 2 veces. Así que mi verdadera pregunta es cómo hacer que "original 1 vez presione la tecla Esc función" no vaya a "nuestra función personalizada 2 veces presione la tecla Esc"?

0
@MCL eerrr edito la pregunta, y no necesitaré #IfWinActive si solo quiero producir una acción global.
agregado el autor laruffii, fuente
Creo que realmente debería leer los conceptos básicos de AHK, los documentos de comando suelen ser un buen punto de partida Tu código es muy confuso, p. la instrucción if (...) solo afectará a la siguiente línea, y dado que no hay ni un block ni sangría, es todo un juego de adivinanzas. También nunca mencionó que de alguna manera desea distinguir entre ventanas, y los contenidos de ALAT1 son
agregado el autor MCL, fuente

1 Respuestas

Cambia la primera línea de tu código a;

$Escape::

Esto lo configurará de modo que la tecla de acceso directo solo se active mediante pulsaciones de teclas reales no simuladas.

0
agregado
Mi más profundo agradecimiento a ti compañero, yayy funciona ahora
agregado el autor laruffii, fuente