Autohotkey双按键按序触发第三键功能实现咨询
AutoHotkey 脚本实现方案
完整可运行脚本
; 先按A再按D的组合逻辑 ~a & d:: SendInput, c ; 触发组合时输出C ; 等待0.2秒,判断D是否被长按(可调整这个时间阈值) KeyWait, d, T0.2 ; 如果D没松开(长按),持续输出A if ErrorLevel { while GetKeyState("d", "P") { SendInput, a Sleep, 20 ; 控制输出速度,数值越小输出越快 } } return ; 先按D再按A的组合逻辑 ~d & a:: SendInput, e ; 触发组合时输出E ; 等待0.2秒,判断A是否被长按 KeyWait, a, T0.2 ; 如果A没松开(长按),持续输出D if ErrorLevel { while GetKeyState("a", "P") { SendInput, d Sleep, 20 } } return
代码说明
~a & d:::带~符号会保留A键的原生功能(单独按A仍输出A),同时监听「先按A再按D」的组合操作。SendInput, c:组合触发时先输出C,满足「A+C」的基础需求。KeyWait, d, T0.2:设置0.2秒的等待阈值,用来判断D是短按还是长按——如果0.2秒内松开D,就不会进入后续循环;如果超过0.2秒还按住D,就触发持续输出逻辑。while GetKeyState("d", "P"):只要D处于按住状态,就循环执行输出A的操作,直到松开D为止。Sleep, 20:控制持续输出的速度,你可以根据自己的需求调整这个数值,数值越小,输出速度越快。
效果匹配
- 单独按A/D:正常输出A/D
- 短按A再按D:输出
adc(A原生输出 + 脚本输出C) - 先按A长按D:输出
adcaaaaaaaaaaaaaa(A原生输出 + 脚本输出C + 持续输出A) - 短按D再按A:输出
dae(D原生输出 + 脚本输出E) - 先按D长按A:输出
daedddddddddddddd(D原生输出 + 脚本输出E + 持续输出D)
内容的提问来源于stack exchange,提问作者Umbrella Trick
相关产品推荐
相关产品推荐

