如何使用AutoHotKey增加击键之间的输入时间

时间:2013-05-06 02:34:21

标签: autohotkey

我在Windows 7中使用AutoHotKey脚本将剪贴板的内容作为一系列击键发送。我对AutoHotKey很新,但我想知道是否有某种方法来调整它发送的每次击键之间的时间。目前,我脚本中的唯一一行如下:

^!k:: Send %clipboard%

我希望能够增加击键次数(目前看起来大约每秒50个字符)到每秒10个字符之间的时间。

我正在使用它来使用终端仿真器向微控制器发送击键。我遇到的问题是,当我实际手动键入键盘时,所有内容都按照应有的方式进行注册,但是当我将剪贴板内容作为击键发送时出现问题,我希望在尝试时减慢输入速度找出问题所在。从本质上讲,在尝试另一种更复杂的解决方案之前,我想排除输入速度作为一个问题。

如果有人有任何想法,我会非常感激。谢谢!

3 个答案:

答案 0 :(得分:4)

您可以使用此功能

使用

Sendpersec(Clipboard, 10)

OR

Sendpersec("jdkfjdkjdfkjdfkjdfkdfjdf", 5)

<强>功能

Sendpersec(Data, Chs){
sleeptime := 1000 / Chs
IfLess,sleeptime,1
    sleeptime := 1
loop,
{
StringLeft,tosend,Data,1
Send, %tosend%
sleep,%sleeptime%
StringTrimLeft,Data,Data,1
IfEqual,Data
    break
}
}

答案 1 :(得分:2)

提高打字速度的简便方法是使用SendInput代替Send。这将“打字”更快!或者,您可以将字符串存储在ClipBoard中并使用Send, ^v发送它。

示例:

Clipboard= Long string to type
Send, ^v

答案 2 :(得分:1)

是的,请使用Sleep, DelayInMilliseconds。例如,对于每秒10次击键,您将使用100

的延迟

http://www.autohotkey.com/docs/commands/Sleep.htm

编辑:也许你想要这个:SetKeyDelay [, Delay, PressDuration, Play]“设置发送和控制发送每次击键后发生的延迟。”

http://www.autohotkey.com/docs/commands/SetKeyDelay.htm