Плагины
Плагин — это отдельная программа, которая работает вместе с Input.Observer. Большинство плагинов что-то рисуют: плагин Styles, поставляемый с Input.Observer, рисует анимированные стили следов и оформленные подсказки и сообщения. Другие могут добавлять функции, которые вызывают скрипты, или выполнять действия, написанные на другом языке. Input.Observer сам запускает, контролирует и останавливает каждый плагин; запускать плагин вручную никогда не нужно.
Эта страница посвящена управлению плагинами. Их создание описано в отдельной документации для разработчиков плагинов.
Расширенный режим. Страница Плагины находится в разделе навигации Движок, который в простом режиме скрыт. Плагины продолжают работать в простом режиме, а страница Оформление показывает стили рендерера и управляет ими в любом режиме.
Изменения на этой странице вступают в силу сразу. Они не входят в несохранённые изменения конфигурации: Применить не нужно, и Отменить их не отменяет. Плагины никогда не экспортируются и не импортируются.
Страница «Плагины»
| Имя | Путь | Возможности | Состояние | Действия |
|---|---|---|---|---|
| Input.Observer.Styles | C:\Program Files\Input.Observer\Input.Observer.Styles.exe | Стили | Работает | Отключить |
| Пример плагина | D:\Tools\SamplePlugin.exe | Функции скриптов | Не используется | Сделать рендерером |
Страница перечисляет все зарегистрированные плагины ② с полем поиска и фильтром состояния (Все состояния, Работают, Требуют внимания, Отключены) над списком. Строка заголовка показывает число зарегистрированных и работающих плагинов.
| Столбец | Что показывает |
|---|---|
| Имя | Имя плагина. В строке рендерера есть значок Рендерер. Кнопка копирования копирует имя в точности — именно оно нужно вызову PluginSendMessage в скрипте. |
| Путь | Программный файл плагина. Кнопка в конце открывает проводник с выделенным файлом. |
| Возможности | Что предлагает плагин: След жеста, Подсказка, Экранное сообщение, Стили, Команды скриптов, Функции скриптов, Скриптовый движок, Настройки, Настройки здесь. Незапущенный плагин показывает то, что предлагал при последнем запуске. |
| Состояние | См. таблицу ниже. |
| Действия | Кнопки, применимые к этому плагину сейчас (см. ниже). |
| Состояние | Значение |
|---|---|
| Работает | Запущен и отвечает. |
| Запуск… | Запускается. Страница проверяет снова каждую секунду, пока состояние не установится. |
| Не используется | Рисующий плагин, который не является рендерером, или рендерер, когда ему ничего не назначено. Он не запущен и не использует память (см. «Не используется» ниже). |
| Не отвечает | Запущен, но не отвечал 10 секунд. Input.Observer его перезапускает. |
| Отключён | Выключен кнопкой Отключить. |
| Отключён автоматически — не удалось запустить | Несколько раз подряд не запустился. Input.Observer прекратил попытки (см. «При сбое плагина» ниже). |
| Закрыт плагином | Плагин закрылся сам намеренно. Он остаётся закрытым, пока вы не выберете Повторить, не отключите и не включите его или не перезапустите Input.Observer. |
Кнопки в столбце Действия:
| Кнопка | Когда отображается | Что делает |
|---|---|---|
| Сделать рендерером | Рисующий плагин, который включён и не является рендерером | Делает его рендерером (см. ниже). |
| Параметры (шестерёнка) | У плагина есть параметры, и он запущен или не используется | Открывает его параметры (см. ниже). |
| Предпросмотр / Остановить предпросмотр | Плагин рисует след, подсказку или сообщения | Показывает, что он рисует (см. ниже). |
| Повторить | Отключён автоматически или закрыт плагином | Снова запускает его и сбрасывает счётчик сбоев. |
| Разрешить обратные вызовы / Запретить обратные вызовы | Плагин предоставляет функции скриптов или скриптовый движок | См. «Обратные вызовы» ниже. |
| Включить / Отключить | Всегда | Запускает или останавливает плагин, сохраняя его регистрацию. |
| Удалить | Всегда | Останавливает плагин и забывает его. Сама программа не удаляется. |
Отключить и Удалить сначала спрашивают подтверждение, если плагин нужен скриптам в вашей конфигурации — скриптам, которые выполняются в его скриптовом движке или вызывают его функции, — и перечисляют их. Пока плагина нет, эти скрипты не работают.
Добавление плагина
- Выберите Добавить плагин… ① и укажите программу плагина (
.exe). - Input.Observer один раз запускает программу, чтобы узнать её имя, затем запускает снова и проверяет, что она подключается и отвечает. Это занимает несколько секунд.
- Если проверка пройдена, плагин добавляется в начало списка и продолжает работать. Если он рисует следы, подсказки или сообщения, он также становится рендерером, о чём сообщает уведомление «Рендерер изменён».
Если плагин не прошёл проверку, «Не удалось добавить плагин» объясняет почему: файла нет, программа не ответила или ответила неправильно (возможно, это не плагин Input.Observer), слишком долго отвечала, её имя уже используется другим зарегистрированным плагином или её функции скриптов или скриптовый движок используют имена, уже занятые другим плагином. В каждом из этих случаев ничего не добавляется.
Если плагин находится внутри папки Input.Observer, Input.Observer хранит его путь относительно своей папки, поэтому плагин, установленный рядом с Input.Observer, продолжит работать и после перемещения Input.Observer.
Доверие к плагину
- Добавление плагина запускает его. На шаге 2 программа сразу запускается с вашими правами, и с тех пор Input.Observer запускает её при каждом своём запуске. Input.Observer не проверяет, кто создал плагин и подписан ли он. Добавляйте только программы из источников, которым доверяете, как перед запуском любой программы.
- Плагин работает как отдельная программа. Он никогда не выполняется внутри Input.Observer, а Input.Observer никогда не ждёт плагин, обрабатывая вашу мышь и клавиатуру, поэтому медленный или неисправный плагин не может вызвать задержку ввода.
- Рисующий плагин получает ваши штрихи жестов и текст подсказок и сообщений, чтобы рисовать их.
- Плагин с функциями скриптов получает значения, которые скрипты передают этим функциям.
Рендерер
Рендерер — единственный плагин, который рисует для Input.Observer: стили следов, а также подсказки и сообщения, если для них на странице Оформление выбрано По стилю. Рендерером одновременно может быть только один плагин. Стандартная установка регистрирует рендерером плагин Styles.
Чтобы сделать рендерером другой рисующий плагин, выберите Сделать рендерером в его строке. Движок переключается сразу: новый рендерер запускается, прежний останавливается и показывает Не используется, а след, подсказки и сообщения, которые может рисовать новый плагин, назначаются ему. Затем ваш выбор на странице Оформление определяет, что он рисует (Оформление). Плагин, который не предлагает стилей, показывается в галерее одной плиткой под своим именем; как он рисует, определяют его собственные параметры.
Отключение или удаление рендерера оставляет вас без рендерера: пока вы не выберете другой, рисуют классический след, окно подсказки и окно сообщений Input.Observer.
Не используется
Input.Observer не запускает плагин, которому нечего делать. Рисующий плагин работает, только пока он является рендерером и что-то на странице Оформление назначено ему. Плагин, предоставляющий функции скриптов или скриптовый движок, работает всегда, пока включён.
Неиспользуемый плагин ненадолго запускается, когда вы открываете его параметры или предпросмотр, а затем
снова переходит в состояние Не используется. Плагин Styles останавливается примерно через минуту после
вашего последнего изменения в его параметрах. Вызов PluginSendMessage из скрипта к незапущенному
рисующему плагину завершается ошибкой, сообщающей об этом; плагин при этом не запускается.
Параметры плагина
Шестерёнка в строке плагина открывает его параметры:
- Плагин с пометкой Настройки здесь показывает свои параметры в окне, которое рисует окно настройки, со списком разделов слева. Параметры плагина Styles описаны на странице Следы жестов.
- Любой другой плагин с Настройки открывает собственное окно параметров.
Незапущенный плагин сначала запускается, поэтому окно может заполняться несколько секунд. Изменения вступают в силу сразу и сохраняются самим плагином — в его собственном файле рядом с файлом конфигурации; они не ждут Применить, и Отменить их не отменяет. Восстановить значения по умолчанию возвращает выбранный раздел к значениям плагина по умолчанию. Если изменение внести нельзя, примечание в окне объясняет почему: плагин не запустился или не предлагает этих параметров, не ответил вовремя, отклонил изменение или внёс его, но не смог сохранить.
Предпросмотр
Предпросмотр показывает, что нарисовал бы рисующий плагин, без настоящего жеста: след, следующий за указателем, образец подсказки и образец сообщения. Щёлкните правой кнопкой, чтобы увидеть, как след заканчивается и начинается снова; во время предпросмотра щелчок правой кнопкой ничего не открывает.
Пока идёт предпросмотр, жесты приостановлены везде, о чём сообщает баннер на странице. Предпросмотр заканчивается, когда вы нажимаете Esc, выбираете Остановить предпросмотр, уходите со страницы Плагины или плагин останавливается. Предпросмотр нельзя начать, пока идёт запись макроса или обучение жестам.
При сбое плагина
Input.Observer проверяет каждый запущенный плагин каждые 5 секунд.
- Плагин, который перестал отвечать в течение 10 секунд (две пропущенные проверки), показывает Не отвечает и перезапускается.
- Плагин, который неожиданно завершился, перезапускается через 10 секунд.
- Плагин, который не удалось запустить, пробуют запустить снова через 2, 5 и 10 секунд. После третьей неудачной попытки он получает состояние Отключён автоматически — не удалось запустить, и Input.Observer оставляет его в покое даже после перезапусков, пока вы не выберете Повторить. Счётчик сбоев обнуляется, когда плагин 5 минут проработал без проблем.
- Плагин, который намеренно закрылся сам, показывает Закрыт плагином и не перезапускается, пока вы не выберете Повторить, не отключите и не включите его или не перезапустите Input.Observer.
Пока рендерер не работает, вместо него рисуют классический след, окно подсказки и окно сообщений Input.Observer, а страница Оформление сообщает об этом и показывает кнопку Перезапустить. Каждый раз при этом в раздел Система консоли записывается строка (Консоль).
При запуске Input.Observer запускает каждый плагин, которому есть что делать, и ждёт каждого примерно до 5 секунд; заставка называет загружаемый плагин. Плагин, не уложившийся в это время, подключается чуть позже. При завершении работы Input.Observer закрывает все плагины, и плагин никогда не может продолжать работать после остановки Input.Observer. В безопасном режиме ни один плагин не запускается (Устранение неполадок).
Обратные вызовы
Плагин, предоставляющий функции скриптов или скриптовый движок, может попросить выполнить скрипт Input.Observer, пока обрабатывает вызов. Это заблокировано, пока вы не выберете Разрешить обратные вызовы в его строке и не подтвердите. Разрешайте это только плагину, которому доверяете: его запросы тогда могут делать всё, что может скрипт здесь, — нажимать клавиши, перемещать и закрывать окна, запускать программы, — в том числе в окнах, запущенных от имени администратора, к которым сам плагин доступа не имеет. Запретить обратные вызовы снова отзывает это разрешение.