AutoHotkey重复键序列,检测修饰符的KEYUP和KEYDOWN

时间:2014-07-17 17:34:43

标签: unicode keyboard-shortcuts autohotkey

this question涵盖的内容类似,我正在尝试绑定两个键序列。

理想情况下,我想绑定 Alt DOWN - - - Alt up 到em-dash( - )和 Alt DOWN - - Alt UP 到一个短划线( - )。

我几乎为em-dashes工作但不完全:

; Em-dash
!-::
Input Key, L1
if Key=-
Input Key, L1
if Key=-
Send {ASC 0151}
return 

; En-dash
;!-::
;Input Key, L1
;if Key=-
;Send {ASC 0150}
;return

em-dash序列的工作方式类似于 Alt + - - - ,而不是我我试图匹配。我不确定如何只测试 Alt DOWN Alt UP 。 en-dash序列完全失败,因为!-已被绑定。

1 个答案:

答案 0 :(得分:5)

看一下这个:

dashCount := 0

!-::
    dashCount++
    if(dashCount = 1) {
        SetTimer, WaitForAlt, -1
    }
return

WaitForAlt:
    KeyWait, Alt
    if(dashCount = 2) {
        Send {ASC 0150}
    } else if(dashCount = 3) {
        Send {ASC 0151}
    }
    dashCount := 0
return

似乎做得很好。每次按 Alt + - 时,代码都会计算。同时,产生一个等待 Alt 被释放的伪线程,然后发送相应的dash,具体取决于计数器。