我不是傻瓜......真的。 如何在AutoHotKey中映射关键SEQUENCE(即: Ctrl + Q , F )。
我已经 Ctrl + Q 了:
^q::
我甚至得到了 F :
f::
帮助文件中的示例甚至显示了如何连续执行两次击键:
Numpad0 & Numpad1::
但它不适用于:
^q & f ::
或者其中任何一个:
LCtrl & q & f::
^q & ^f::
^q^f::
^qf::
当其中一个键是 Ctrl 键时,如何完成按键SEQUENCE触发某些操作?我调查了使用HOTSTRING,但在这种情况下无法解决如何包含 Ctrl 字符的问题!
答案 0 :(得分:28)
好的;答案似乎是:
^q::
Input Key, L1
if Key=f
...some code here...
return
答案 1 :(得分:5)
如果有人正在寻找类似的东西,但实际上想要 Ctrl Q + Ctrl F 和< em> only 如果 Ctrl 始终保持(因此,对某些人来说,这可能看起来像 Ctrl Q + F ),接下来是如何做到的:
$Ctrl::Send {Ctrl Down}
$Ctrl UP::
ChordIsBroken := True
Send {Ctrl Up}
Return
^q::
ChordIsBroken := False
Input, OutputVar, L1 M
If (!ChordIsBroken && Asc(OutputVar) = 6)
{
MsgBox "Hello, World!"
}
Else
{
SendInput %OutputVar%
}
Return
有关我的解释,请参阅https://superuser.com/a/725303/145431。
答案 2 :(得分:3)
或者你可以这样做:
q & f::
if GetKeyState("Control") {
; Do something
return
}
return
我认为这比使用输入键L1更具可读性,如上所述。
答案 3 :(得分:1)
这会捕获 CTRL + F 。如果此时 Q 被按下,则会触发您的代码。
^f::
If GetKeyState("q", "p") {
MsgBox test
} Else {
Send ^f
}
return