Re: [AHK-] 如何热键按两下才触发动作?

楼主: panex0845 (胖克思)   2020-06-28 14:41:55
提供一个函式 DoubleHotkey(ms)
直接套用在快速键下面就可以
省去每一个快速键就要重新更改相关设定的问题
每次触发之后 快速键还是要再按两次才会触发
同时支援常见组合键,范例:
F1::
W::
<!Q:: ; 左边Alt & Q
^Numpad1:: ; Ctrl & 数字键 1
Numpad1 & Numpad3:: ; 数字键 1 & 3
#Z UP:: ; Win+ Z 放开才触发
if DoubleHotkey(500) ; 500毫秒内连按两次
{
msgbox % "Hotkey " A_ThisHotkey
. " was pressed piror " A_TimeSincePriorHotkey " ms!"
}
return
DoubleHotkey(ms=250)
{
static kp
if (A_PriorHotkey != A_ThisHotkey
or A_TimeSincePriorHotkey > ms or kp)
{
KeyWait, % key := Instr(A_ThisHotkey, "Num")
? SubStr(A_ThisHotkey, InStr(A_ThisHotkey, "Num",, 0))
: RegExMatch(A_ThisHotkey, "F\d")
? SubStr(A_ThisHotkey, InStr(A_ThisHotkey, "F",, 0))
: SubStr(A_ThisHotkey, 0, 1)
return kp := 0
}
if !kp
return kp := 1
}
作者: ides13 (juso)   2020-06-28 15:28:00
谢谢。
作者: shala (沙罗)   2020-06-28 20:44:00
谢谢,试试看稳定度
作者: ak77now (ak77now)   2020-06-29 06:54:00
谢谢!

Links booklink

Contact Us: admin [ a t ] ucptt.com