双按同一快捷键而不更改原稿1按快捷键功能(Autohotkey)时避免循环

时间:2013-12-17 08:09:43

标签: autohotkey

我想生产这样的东西: 1.当我按Esc 2次(双)时,我想制作我的“定制动作” 2.当我按Esc 1次时,我想制作原始的Escape

好的,这是我的问题的解释:

  • 此代码应该应用为全局,意味着当我启动脚本时,它将适用于所有窗口
  • %ALAT1%可变活动Windows标题,缩写“Anime Land Akui Transform”某种愚蠢的动漫游戏
  • 如果我按Esc一次。它将“暂停”游戏,但当我按Esc 2次时,它将“退出”游戏“
  • 我想按Esc 2次做自定义操作,但我也不希望当我按1次时原来的Esc键功能被覆盖。

    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
    

在我尝试上面的代码之后:假设我按下“Escape”按钮它会循环Escape,就像我按Escape 2次一样。所以我真正的问题是如何使“原始1次按Esc键功能”不会循环到“我们的自定义2次按Esc键功能”?

1 个答案:

答案 0 :(得分:1)

将代码的第一行更改为;

$Escape::

这将设置它,以便热键仅由实际击键触发而不是模拟击键。