AuthoHotKey独有的双击换档,然后是操作键

时间:2017-04-29 23:56:43

标签: autohotkey

我正在尝试完成一个自动按键脚本,您可以在其中双击任意一个SHIFT键两次,然后按某个字母来激活宏。 我有以下脚本,但我有两个“错误”我无法弄清楚如何解决。我试过没有运气的其他论坛。希望有人可以帮助我。 我对此有点新意。

错误1:如果您按下两个SHIFT之间的任何字母,只有在您完全按下SHIFT时才会激活该宏,则会激活该宏。例如,按SHIFT,s,SHIFT,d将启用宏。

错误2:我不确定这是怎么发生的,但是使用以下代码,我会定期在我输入时获取所有或部分宏。当我在一个句子中键入第一个大写字母时,似乎就会发生这种情况。但有时候只是。例如......“bla bla bla profiles.S”

我已经愚弄了超时,但这似乎并没有多大区别。任何帮助表示赞赏。

谢谢, 杰夫。

renderDealListItem

1 个答案:

答案 0 :(得分:2)

修复错误1:

endKeys := "{BS}{Enter}{Insert}{Home}{Pgup}{PdDwn}End}{Delete}" 
     . "{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}"
     . "{LShift}{RShift}{Tab}{Esc}{CAPSLOCK}{Ctrl}{PrintScreen}{NumLock}" 
     . "{Numpad0}{Numpad0}{Numpad0}{Numpad0}{Numpad0}{Numpad0}{Numpad0}" 
     . "{Numpad7}{Numpad8}{Numpad9}{NumpadDel}{Up}{Down}{Left}{Right}"
     . "{LAlt}{RAlt}{.}{,}{/}"

~Alt Up::
    Input, key, V L1 t0.5 E, % endKeys
    If (Errorlevel ~= "Alt") {
        Double_ALT := true
        Sleep 2000
        Double_ALT := false
    }
return

; Press a key within two seconds after double tapping the Alt key, to activate an action:
#If (Double_ALT)
    d::
    FormatTime, CurrentDateTime,,MM/dd/yy - hh:mmtt
    SendInput %CurrentDateTime%
            Double_ALT :=false
            return
    a:: MsgBox, Test
    s:: MsgBox, Test
    f:: MsgBox, Test
return