Input 自动热键延迟所有输入

Input 自动热键延迟所有输入,input,delay,autohotkey,Input,Delay,Autohotkey,我正在尝试编写一个脚本来延迟我发送的所有物理击键。这包括向下键、向上键和按住键的持续时间 到目前为止我 a:: if( not GetKeyState("a")) sleep 1000 sendinput {a down} return a up:: sleep 1000 sendinput {a up} 但问题是,由于我无法理解的原因,并不是每一次中风都会延迟。按下按键后,接下来的几次按下和释放都不会延迟 我想询问是否有一种方法可以简单地延迟所有输入

我正在尝试编写一个脚本来延迟我发送的所有物理击键。这包括向下键、向上键和按住键的持续时间

到目前为止我

a::
    if( not GetKeyState("a"))
    sleep 1000
    sendinput {a down}
return

a up::
    sleep 1000
    sendinput {a up}
但问题是,由于我无法理解的原因,并不是每一次中风都会延迟。按下按键后,接下来的几次按下和释放都不会延迟


我想询问是否有一种方法可以简单地延迟所有输入,无论是使用AHK还是其他应用程序,而不是对每个键都执行这样的脚本也是合适的。

在热键中添加前缀
$

这通常仅在脚本使用Send命令发送组成热键本身的键时才有必要,否则可能导致热键自身触发。$prefix强制使用键盘钩子来实现这个热键,作为副作用,它会阻止Send命令触发它。$前缀相当于在该热键定义上方的某个位置指定了#UseHook

[v1.1.06+]:#InputLevel和SendLevel提供了额外的控制,控制Send命令触发哪些热键和热字符串


来源

首先,我无法想象有什么方法可以轻松地适当延迟密钥释放

以下是一个糟糕的解决方法。我对更好的解决方案也很感兴趣

aUp = false
delay_when_pressing_down = 200
delay_between_sends = 10
return

$a::
    aUp = false
    delay_start := a_tickCount
    sleep 1000
    send a
    sleep, %delay_when_pressing_down%
    if aUp = true
    {
        time_a_was_pressed_down := time_of_release - delay_start
        time_a_was_pressed_down -= %delay_when_pressing_down%
        start := a_tickCount
        loop
        {
            now := a_tickCount
            diff := now - start
            if diff > %time_a_was_pressed_down%
                break
            send a
            sleep, %delay_between_sends%
        }
        return
    }
    loop
    {
        send a
        sleep, %delay_between_sends%
        if aUp = true
        {
            start := a_tickCount
            loop
            {
                send a
                sleep, %delay_between_sends%
                now := a_tickCount
                diff := now - start
                if diff > 1000
                    break
            }
            break
        }
    }
return

$a up::
    time_of_release := a_tickCount
    aUp = true
return

^e::reload

效果比我的尝试要好得多,唯一的问题是延迟计时器运行时密钥没有注册。不幸的是,这并没有像现在这样延迟“所有”按键。我开始感觉很糟糕,因为我的帖子里有很多业余的东西。不管怎样,我不确定我是否理解你的担忧,但我补充了几句话。可能会按照您现在期望的方式工作。可能会重复