Autohotkey 带空闲复位的自动热键循环序列
我从不同的帖子中拼凑了以下内容:Autohotkey 带空闲复位的自动热键循环序列,autohotkey,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, Ch
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-您必须让#Persistent SetTimer,Check,1000
部分在第一个返回之前
2-A_TimeIdle
对任何输入都是敏感的,即使是简单的鼠标移动(通过用户或脚本)也会将其重置为零。如果要获取此单个热键的空闲时间,请改用A_timesincethishhotkey
:
Check:
if (A_TimeSinceThisHotkey >= 3000)
{
Rotation = 0
}
return
我不太清楚你在空闲部分想要什么。你是说3秒的空闲时间专门与此鼠标XButton1相关?您使用的
A_TimeIdle
对任何操作都是合理的,即使是简单的鼠标移动(通过用户或脚本)也会将其重置为零。是的,这正是我想要的XButton1空闲时间。我想我是在错误的理解下工作的,认为a_TimeIdle代表循环函数idle time,如果它在3秒钟内没有被调用,它会重置。这听起来应该可以工作,但没有,即使我添加了一个MsgBox而不是旋转赋值,它也不会被调用