具有空闲复位的Autohotkey循环序列

时间:2017-02-11 16:01:23

标签: autohotkey

我从各个帖子中拼凑了以下内容:

keys = 0,9,8,7

loop, parse, keys, `,
{
  Key_%A_Index% := A_LoopField
  KeyCount++
}
return

XButton1::
    Rotation ++
    Send % Key_%Rotation%
    if Rotation = %KeyCount%
        Rotation = 0
return

#Persistent
    SetTimer, Check, 1000         ;check every second
return

Check:
If (A_TimeIdle >= 3000)
    Rotation = 0
return

我的想法是我按下我的鼠标4按钮然后循环键然后返回开始,但是我也想要一个循环,这样如果我没有按下按钮3秒钟,它会重置为序列的开始。键序列工作但空闲复位不起作用,我不知道从哪里去调试它。

1 个答案:

答案 0 :(得分:1)

1-您必须先将#Persistent SetTimer, Check, 1000部分放在第一个return之前。

2- A_TimeIdle对任何输入都是明智的,即使是简单的鼠标移动(通过用户或脚本)也会将其重置为零。如果您想获得此单个热键的空闲时间,请使用A_TimeSinceThisHotkey代替:

Check:
if (A_TimeSinceThisHotkey >= 3000)
{
    Rotation = 0
}
return