Autohotkey 如何在自动热键中设置组合阈值
下面介绍了如何在自动热键中定义自定义组合: 您可以定义两个键的自定义组合(操纵杆除外) 按钮)之间使用“&”。在下面的示例中,您将 按住Numpad0,然后按第二个键以触发热键:Autohotkey 如何在自动热键中设置组合阈值,autohotkey,Autohotkey,下面介绍了如何在自动热键中定义自定义组合: 您可以定义两个键的自定义组合(操纵杆除外) 按钮)之间使用“&”。在下面的示例中,您将 按住Numpad0,然后按第二个键以触发热键: Numpad0 & Numpad1::MsgBox "You pressed Numpad1 while holding down Numpad0." Numpad0 & Numpad2::Run "Notepad" 但我找不到如何设置阈值。例如,我希望Nu
Numpad0 & Numpad1::MsgBox "You pressed Numpad1 while holding down Numpad0."
Numpad0 & Numpad2::Run "Notepad"
但我找不到如何设置阈值。例如,我希望
Numpad0&Numpad1
仅在用户在按下Numpad0
后不到300毫秒内按下Numpad1
时发生。您可以执行以下操作,例如:
Numpad0::
if (!PressedAt)
PressedAt := A_TickCount
return
Numpad0 Up::PressedAt := 0
#If, A_TickCount - PressedAt < 300
Numpad1::MsgBox
#If
Numpad0::
如果(!按一下)
按下按钮:=A_TickCount
返回
Numpad0向上::按日期:=0
#如果,则在<300时按A_TickCount
Numpad1::MsgBox
#如果
因此,使用A_TickCount
来比较时间。if语句之所以存在,是因为Windows的key repeat功能。如果没有它,则按住Numpad0时,
在
处按的时间会不断设置。而且,
0
是false
,因此我们也可以方便地在if语句中使用PressedAt
变量
也可以不使用Numpad1的上下文敏感热键,它只会使该键保留其原始功能。如果#如果导致您,您可以切换到热键标签内的正常If语句检查 如果需要,请确保将
~
前缀添加到Numpad0热键