自动热键按下两个按钮会导致第三个按钮

问题描述 投票:0回答:1

我是自动热键新手。我想做的事:

A press = A press
D press = D press
A press + D press = C press AND A press 
D press + A press = E press AND D press 
A hold + D hold = A hold AND C press
D hold + A hold = D hold AND E press

例如,按住 A 和 D 应该会在记事本中产生这样的文本:

adcaaaaaaaaaaaaaa

D 和 A 按下结果:

daedddddddddddddd

按下 A 和 D 结果:

adc

我想要做的就是保持 A 和 D 键的功能不变,但当组合在一起时 - 根据按下顺序触发 C 或 E 键。提前!

我已经尝试过,但它返回错误:

~a & d::c & d
~d & a::e & a

只能这样工作,但按住时不会返回 a 或 d

~a & d::c
~d & a::e
keyboard-shortcuts autohotkey shortcut key-bindings
1个回答
0
投票

你可以试试

#Requires AutoHotkey v1.1

a:: 
d:: 
    SendInput %A_ThisHotkey%
return

a & d:: 
    Send adc
    while GetKeyState("a", "P")
    {
        Send a
        Sleep 100 ; remove this line if you don't want a delay
    }
return

d & a:: 
    Send dae
    while GetKeyState("d", "P")
    {
        Send d
        Sleep 100
    }
return

编辑:

或者这个:

#Requires AutoHotkey v1.1

; Press and release D immediately after pressing A:
~a & d:: 
    KeyWait, d
    Send dc
    while GetKeyState("a", "P")
    {
        Send a
        Sleep 100 ; remove this line if you don't want a delay
    }
return


; Press and release A immediately after pressing D:
~d & a:: 
    KeyWait, d
    Send ae
    while GetKeyState("d", "P")
    {
        Send d
        Sleep 100
    }
return
© www.soinside.com 2019 - 2024. All rights reserved.