使用 Autohotkey 使双击 Home 成为 Home,单击成为 PrintScreen
Make doubleclick Home act as Home with Autohotkey, and single click as PrintScreen
我希望我的主页按钮(单击)充当 PrintScreen,双击主页按钮充当主页。我无法让它工作。
在我之前使用的代码之下,它以相反的方式起作用(双击使其充当 PrintScreen,一次充当 Home)。确实有效。
任何人都可以告诉我我需要在脚本中更改什么吗?
~Home::
if (A_PriorHotKey = "~Home" AND A_TimeSincePriorHotkey < 400)
{
Send, {PrintScreen}
;Msgbox,Double press detected.
}
Sleep 0
KeyWait Home
return
不要通过 ~
传递热键,使用 $
表示您可以发送您在其处理程序中覆盖的热键。检查 A_PriorKey
而不是 A_PriorHotKey
以便它过滤掉快速键入的非热键按键序列,例如 Homea首页.
这会在双击时发送 Home 但在检测到双击之前它还会发送 PrintScreen:
Home::send % A_PriorKey="Home" && A_TimeSincePriorHotkey<400 ? "{Home}" : "{PrintScreen}"
这通过延迟 PrintScreen 400 毫秒解决了上述问题:
$Home::
if (A_PriorKey = "Home" && A_TimeSincePriorHotkey < 400) {
settimer, sendPrintScreen, off
send {Home}
} else {
settimer, sendPrintScreen, 400
}
return
sendPrintScreen:
settimer, sendPrintScreen, off
if (A_PriorKey = "Home")
send {PrintScreen}
return
我希望我的主页按钮(单击)充当 PrintScreen,双击主页按钮充当主页。我无法让它工作。
在我之前使用的代码之下,它以相反的方式起作用(双击使其充当 PrintScreen,一次充当 Home)。确实有效。
任何人都可以告诉我我需要在脚本中更改什么吗?
~Home::
if (A_PriorHotKey = "~Home" AND A_TimeSincePriorHotkey < 400)
{
Send, {PrintScreen}
;Msgbox,Double press detected.
}
Sleep 0
KeyWait Home
return
不要通过 ~
传递热键,使用 $
表示您可以发送您在其处理程序中覆盖的热键。检查 A_PriorKey
而不是 A_PriorHotKey
以便它过滤掉快速键入的非热键按键序列,例如 Homea首页.
这会在双击时发送 Home 但在检测到双击之前它还会发送 PrintScreen:
Home::send % A_PriorKey="Home" && A_TimeSincePriorHotkey<400 ? "{Home}" : "{PrintScreen}"
这通过延迟 PrintScreen 400 毫秒解决了上述问题:
$Home::
if (A_PriorKey = "Home" && A_TimeSincePriorHotkey < 400) {
settimer, sendPrintScreen, off
send {Home}
} else {
settimer, sendPrintScreen, 400
}
return
sendPrintScreen:
settimer, sendPrintScreen, off
if (A_PriorKey = "Home")
send {PrintScreen}
return