我想要一个脚本,它会按一次按钮,然后等待 3 秒钟,然后在 AutoHotKey 中再次按下它。
我使用 F3 发送发送 Q 和 {F3}。
$F3::
Send q
Send {F3}
return
但是,我按住 F3 反复发送 Q,但我只希望 {F3} 在最后一次发送前等待至少 3 秒后发送。
如果你还是不明白:
(按住 F3) 发送 q 发送 F3 发送 q 发送 q 发送 q (3 秒过去了) 发送 F3 发送 q 发送 q
提前致谢。
我想要一个脚本,它会按一次按钮,然后等待 3 秒钟,然后在 AutoHotKey 中再次按下它。
我使用 F3 发送发送 Q 和 {F3}。
$F3::
Send q
Send {F3}
return
但是,我按住 F3 反复发送 Q,但我只希望 {F3} 在最后一次发送前等待至少 3 秒后发送。
如果你还是不明白:
(按住 F3) 发送 q 发送 F3 发送 q 发送 q 发送 q (3 秒过去了) 发送 F3 发送 q 发送 q
提前致谢。
您想在这 3 秒内重新映射密钥以仅发送 q,然后重新启用它。您可以使用Hotkey, *F3, off
. 看这里
这是您希望 F3 执行的操作:
F3 模式 1
我尝试实施我的第一个解决方案,但无法让它发挥作用。似乎没有立即安装动态重新映射。下面是一个更简单的解决方案,它使用最后一次 F3 按键的时间。请注意,由于您正在发送 {F3},因此您需要暂时禁用 F3 绑定,否则它将再次触发该操作。
last_f3_time := 0
F3_Mode_1()
{
global last_f3_time
Send q
now := A_TickCount
if (now - last_f3_time > 3000)
{
last_f3_time := now
Hotkey, F3, off
Send {F3}
Hotkey, F3, on
}
;else{MsgBox, Too early! %now%}
}
F3::F3_Mode_1()