AutoHotKey key SEQUENCE,不只是单键热键
我不傻......真的。 如何在AutoHotKey中映射密钥SEQUENCE(即:Ctrl + Q,F)。AutoHotKey key SEQUENCE,不只是单键热键
我有按Ctrl +Q下来:
^q::
我甚至已经有了˚F:
f::
在帮助文件中的例子甚至显示如何做连续两次击键:
Numpad0 & Numpad1::
,但它只是不会与工作:
^q & f ::
或其任任:
LCtrl & q & f::
^q & ^f::
^q^f::
^qf::
如何实现一个按键顺序触发的东西,当这些关键之一是按Ctrl关键?我考虑使用HOTSTRING来代替,但无法解决如何在该环境中包含Ctrl字符!
好的;答案似乎是:
^q::
Input Key, L1
if Key=f
...some code here...
return
或者你也可以做这样的:
q & f::
if GetKeyState("Control") {
; Do something
return
}
return
我觉得这是一个有点比使用输入键,L1如上文更易读。
&符号符号要求两个键在**相同**时间被按下。在大写字母中,OP指定“序列”,所以此答案不起作用。 – horta 2014-05-20 15:20:52
This catchches CTRL + F。如果Q在那个时候被阻止,您的代码将被触发。
^f::
If GetKeyState("q", "p") {
MsgBox test
} Else {
Send ^f
}
return
OP需要一系列密钥。这个答案需要同时击键。 – horta 2014-05-20 15:22:01
万一有人在寻找类似的事情,但实际上要按CtrlQ + Ctrl键˚F和只有如果Ctrl键保持整个(所以,一些,这可能看起来像CtrlQ + 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
我在过去以一种有效但又丑陋的方式处理了这个问题。我更喜欢你的方法,并将它与Progress命令结合在一起,制作出漂亮的按键顺序菜单,例如我用来启动浏览器** [这里](https://gist.github。COM/ajkerrigan/a0e54dbdd5fb3dea5113)**。感谢更好的方式! – ajk 2015-07-13 16:21:26
这几个尝试后,我的CTRL键搞砸了,所以例如我不能再按ctrl-shift-escape – BornToCode 2015-08-19 15:43:13