SendInput不会在高速

问题描述:

工作我已经做了快捷说:“ALT J”进入一个与左边的箭头,就像这样:SendInput不会在高速

!j::SendInput,{LEFT} 

这工作正常,但如果我按住“ALTĴ “ 时间过长。它大部分时间都能正常工作,但偶尔会在即将到来的路径上放下小型“j”。说我想去一个字母的时间,通过这样的句子:

的 “Hello world”

它很可能会成为这样的事情:

“jHeljjlo jworljd”

有一种让每个按键都有一点点延迟以使其能够跟上的方法?或者这个问题与默认的延迟有关吗?

感谢您的帮助!

+1

我无法重现您的问题。如果我将光标放在一个长字符串的末尾并按住“alt j”,光标将快速遍历整个字符串,而不写入任何“j”。 – Blauhirn 2015-02-19 17:30:55

+0

@Blauhirn我认为这个问题只存在于沉重的程序中。当我坐在Visual Studio或IntelliJ中时,我遇到了这个错误,而且我没有使用轻量级文本编辑器 – Peterrr 2015-04-29 14:08:37

所以这仍然是你的问题? 在我看来最喜欢一个AutoHotkey错误,或错误地发送j s,因为你的RAM不能很好地处理重的程序。

事情我能想到的,你可以尝试:

  • 买更好的计算机。

  • 使用setBatchLines, 1ms,使您的脚本每毫秒睡眠20毫秒,因此消耗更少的CPU。这可能会清除AutoHotkey的头脑。

  • SetKeyDelay, 50也可能有所帮助。

有时,按下调节剂如ctrlalt,大大减慢窗口。至少在Windows Vista下是这种情况。所以你可能想摆脱!(alt)并坚持j而不是:下面的脚本被!j激活,它的行为就像你的初始脚本,但是一旦你释放ALT,只要J被按下,它也会继续运行down:

!j:: 
sendInput {left} 
hotkey, *j, sendLeft, ON 
hotkey, *j up, stopSendLeft, ON 
return 

sendLeft: 
send {left} 
return 

stopSendLeft: 
hotkey, *j, sendLeft, OFF 
hotkey, *j up, stopSendLeft, OFF 
return 

不过,我没有寄予厚望,任何这些都会对你有所帮助。

+0

SetKeyDelay,1似乎足以解决问题。谢谢你的帮助 :) – Peterrr 2015-05-02 12:26:19