"Alt+Q Alt+Q" 的关键代码是什么?

What're the key codes for "Alt+Q Alt+Q"?

我想创建一个脚本,在按住 A​​lt 的同时按两次 Q 时触发,但无法弄清楚是什么正确的关键代码,有人可以解释一下吗?

P.S。我想把这个快捷键绑定到Ctrl+F12,我指定Sogou IME打开中文输入模式

我没有对此进行测试,可能有更简洁的方法,但我认为这样的方法应该可行。

!Q::
If(keyPressed = 1){
   ...Do a thing...
}
keyPressed := 1
SetTimer, altQTimer, 50
return

altQTimer:
keyPressed := 0
return

TL;DR

In conclusion, even if I do all kinds of hacks and get the script working as intended, it's likely to break in the future, which is really not worth the trouble.


经过几个小时的试验,目前的结论是Sogou IME使用Ctrl+F12不会触发绑定操作即切换到中文输入模式,如果它是由 Alt+[Any Other Key] 发送的,它 can被其他快捷键如Ctrl+C发送时会被触发,真是不幸

最奇怪的是下面的代码有效:

^c::Send !q
!q::Send ^{F12}

并排除潜在的 extra simulated keystrokes (Ctrl by default) 影响,以下代码也有效:

^!q::Send ^{F12}

但是下面的没有(在几台机器上测试过):

!q::Send ^{F12}

更新

经过很多的努力,我确实得到了Alt+Q打开中文用下面的代码输入模式,不知道为什么:

!q::Send ^{F6}
^F6::Send ^{F7}
^F7::Send ^{F12}

但是 因为我还需要使用 Alt+Q[= 触发 VSCode 命令67=] 同时,我不得不将上面的代码修改为:

~!q::Send ^{F6} ; with ~ prefixed
^F6::Send ^{F7}
^F7::Send ^{F12}

现在Alt+Q确实会触发VSCode命令,但不会开启中文输入模式...

最后,如果我退后一步,将 VSCode 命令绑定到 Ctrl+C(这可能只用^c::Send ^{F12}打开中文输入模式),我还是要在^c前面加上~,不然不会触发VSCode命令,现在我再次重复这个循环...

试了这么多,不得不说搜狗输入法判断是否开启中文输入法的逻辑很不确定,使得开启中文输入法的脚本非常不可靠。

总而言之,即使我进行了各种 hack 并使脚本按预期运行,但将来很可能会崩溃,这真的不值得。