Как увеличить время ввода между нажатиями клавиш с помощью AutoHotKey
Я использую сценарий AutoHotKey в Windows 7 для отправки содержимого буфера обмена в виде серии нажатий клавиш. Я очень новичок в AutoHotKey, но мне было интересно, есть ли какой-то способ настроить время между каждым нажатием клавиши, которое он посылает. В настоящее время единственная строка в моем скрипте выглядит следующим образом:
^!k:: Send %clipboard%
Я хотел бы иметь возможность увеличить время между нажатиями клавиш (в настоящее время оно составляет порядка 50 символов в секунду) до более чем 10 символов в секунду. второй.
Я использую это для отправки нажатий клавиш на микроконтроллер с помощью эмулятора терминала. У меня есть проблемы в том, что когда я на самом деле набираю нажатия клавиш вручную, все регистрируется так, как должно, но когда я отправляю содержимое буфера обмена в виде нажатий клавиш, что-то идет не так, и я надеялся замедлить скорость ввода в попытке определить проблему. По существу, я хотел бы исключить скорость ввода как проблему, прежде чем пытаться решить другую, более сложную решение.
Если у кого-то есть какие-то идеи, мы будем очень признательны. Спасибо!
3 ответа:
Вы можете использовать эту функцию
Используя
Sendpersec(Clipboard, 10)
Или
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 } }
Простой способ увеличить скорость набора текста-использовать
SendInput
вместоSend
. Это позволит "печатать" гораздо быстрее ! Кроме того, вы можете сохранить строку в буфере обмена и использоватьSend, ^v
для ее отправки.Пример:
Clipboard= Long string to type Send, ^v
Да, используйте
Sleep, DelayInMilliseconds
. Например, для 10 нажатий клавиш в секунду вы бы использовали задержку в 100Http://www.autohotkey.com/docs/commands/Sleep.htm
EDIT: может быть, вы хотите этого:
SetKeyDelay [, Delay, PressDuration, Play]
"устанавливает задержку, которая будет происходить после каждого нажатия клавиши, отправляемого Send и ControlSend."