Захват событий


Рассмотрим механизм записи событий в скрипт. Все необходимые элементы управления для записи событий находятся в правом меню в пунктеЗахват событий. Элементы разделены на отдельные группы. На момент написания все элементы разделены на такие группы:

Для захвата события, выберите место в редакторе, куда вы хотите вставить код, выберите нужный метод захвата, (используйте контрольную клавишу, если этого требует метод захвата), произведите нужные действия, выключите захват событий.

Захват клавиатуры
Особенность захвата клавиатуры в том, что при его включении отключается возможность редактировать скрипт с клавиатуры. Если его включить, то в вывод будут дублироваться клавиши. Так при наборе hello world с выбранным методом для вставки имен клавиш Захват событий > Клавиатура > key name в выводе будет H E L O SPACE W O R L D вместо hH eE lL lL oO SPACE wW oO rR lL dD.
Отдельно нужно выделить метод для вставки имен клавиш. Если вы забыли как называется нужная клавиша, он позволит не искать ее документации, а быстро вставить нужное название.

Захват мыши
Особенность захвата мыши в использовании контрольной клавиши. По умолчанию контрольная клавиша CONTROL, ее можно изменить в настройках.
Для захвата мыши необходимо выбрать нужный метод, потом зажать контрольную клавишу и произвести необходимые действия, отпустить контрольную клавишу.
Способ захвата с использованием контрольной клавиши выбран для того, чтобы было проще контролировать те события, которые должны попасть в вывод.
Учтите, что во многих приложениях контрольная клавиша CONTROL будет работать некорректно, так как часто CONTROL в сочетании с кнопкой мыши уже зарезервирован для других действий. Потому, для каждого приложения вам придется подбирать свою контрольную клавишу, которая не будет конфликтовать с программой.
Изменить контрольную клавишу можно в настроках.

Захват клавиатура + мышь
Это самый обширный инструмент для записи действий пользователя. Он способен записать события клавиатуры и мыши, обработать их надлежащим образом и сохранить это все в компактное текстовое представление.
Для активации комбинированной записи необходимо включить соответствующий элемент управления и нажать контрольную клавишу.
Запись событий начинается после отпускания контрольной клавиши, а прекращается по ее нажатию. Это позволяет избежать попадания событий контрольной клавиши в список записанных событий.
В качестве контрольной клавиши возможно установить комбинацию клавиш, но стоит учитывать, что в таком случае в список записанных событий попадут события нажатия и отпускания из списка контрольных клавиш.
Для управления записью событий существую несколько опций:

Меню выбора кодировки пердлагает на выбор три варианта

Подробнее остановимся на том, как работают последние три опции. Эти опции созданы для уменьшения объема кода. Если они выключены, то результат будет максимально приближен к действиям пользователя.
Эти опции никоим образом не влияют на все события клавиатуры, колесика и клавиш мыши, а только отсеивают избыточные события перемещения мыши.

Опция фиксированная частота указывает максимальную частоту записи событий. Стандартно, курсор может изменять свое положения около 60-120 раз в секунду, в зависимости от системы, что означает, что в результат каждую секунду будут добавлены 60-120 событий перемещения мыши. Указав значение равное 30, к примеру, их количество можно сократить в 4 раза. Чем ниже значение, тем больше событий будут упущены. Возможна ситуация, когда необходимое событие будет не записано.
Данная опция позволяет сократить количество кода и полностью сохраняет скорость передвижения курсора. Если вы в водном месте двигали курсор быстро, а в другом медленно, то эта разница так же будет заметна. Если двигать курсор очень медленно, то данная опция не поможет сократить объем кода, так как все события так же будут попадать в результат.

Опция минимальное расстояние указывает минимальное расстояние меду двумя событиями перемещения мыши. К примеру, минимальное расстояние установлено равным 100 пикселям, вы нажали кнопку мыши и теперь медленно ведете в сторону. Событие передвижения следующее за событием нажатия кнопки гарантировано попадет в результат, однако в результат не попадет ни одно событие передвижения курсора расстояние до которого будет меньше чем 100 пикселей.
Эта опция так же поможет вам сократит объем кода. Она позволит убрать избыточные события вне зависимости от того быстро вы передвигаете мышь или очень медленно.
Не рекомендуется устанавливать большие значения, так как результат может быть весьма непредсказуем.

Опция точки остановки позволить убрать недостатки от использования предыдущих двух опций. Если курсор простоял в данной точке не двигаясь дольше чем указанное количество мс., то событие перемещения курсора в эту точку гарантировано попадет в результат.
Таким образом, можно устанавливать любые значения для предыдущих двух опций и указывать особенно важные точки, которые обязательно должны попасть в результат, просто подержав курсов на месте некоторое время.
Частота обновления стандартного монитора 60 или 120 герц, что дает примерно 8.3 и 16.6 мс. на кадр. Если вы визуально можете заметить, что курсор замер на месте, значит время его остановки было более 17 и 34 мс. соответственно. Указывать значения меньше чем время за 2 кадра нет смысла. Рекомендуется указывать время минимум за 4 кадра: 34 и 67 мс.