Как увеличить время ввода между нажатиями клавиш с помощью AutoHotKey


Я использую сценарий AutoHotKey в Windows 7 для отправки содержимого буфера обмена в виде серии нажатий клавиш. Я очень новичок в AutoHotKey, но мне было интересно, есть ли какой-то способ настроить время между каждым нажатием клавиши, которое он посылает. В настоящее время единственная строка в моем скрипте выглядит следующим образом:

^!k:: Send %clipboard%

Я хотел бы иметь возможность увеличить время между нажатиями клавиш (в настоящее время оно составляет порядка 50 символов в секунду) до более чем 10 символов в секунду. второй.

Я использую это для отправки нажатий клавиш на микроконтроллер с помощью эмулятора терминала. У меня есть проблемы в том, что когда я на самом деле набираю нажатия клавиш вручную, все регистрируется так, как должно, но когда я отправляю содержимое буфера обмена в виде нажатий клавиш, что-то идет не так, и я надеялся замедлить скорость ввода в попытке определить проблему. По существу, я хотел бы исключить скорость ввода как проблему, прежде чем пытаться решить другую, более сложную решение.

Если у кого-то есть какие-то идеи, мы будем очень признательны. Спасибо!

3 3

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 нажатий клавиш в секунду вы бы использовали задержку в 100

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

EDIT: может быть, вы хотите этого: SetKeyDelay [, Delay, PressDuration, Play] "устанавливает задержку, которая будет происходить после каждого нажатия клавиши, отправляемого Send и ControlSend."

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