Рисование жеста
Жест рисуется так: удерживайте кнопку рисования, двигайте мышь и отпустите кнопку. Пока вы рисуете, Input.Observer удерживает нажатие. Когда вы отпускаете кнопку, он либо выполняет действие, либо отдаёт нажатие окну, как будто Input.Observer нет.
Кнопки рисования
Сначала единственная кнопка рисования — правая. Добавлять и убирать кнопки можно на странице Общие:
- Откройте Общие и найдите карточку Начало жеста.
- В строке Кнопки рисования ① выберите все кнопки, которые должны рисовать. Повторный выбор выбранной кнопки выключает её.
- Примените изменения.
Правила:
- Рисовать может любая из кнопок Левая кнопка, Правая кнопка, Средняя кнопка, Боковая кнопка 1 и Боковая кнопка 2, причём несколько сразу. Каждая начинает собственный жест.
- Если ни одна кнопка рисования не выбрана, жесты мыши полностью выключены. Горячие клавиши и подстановка текста продолжают работать.
- Триггер-жест действия может требовать одну кнопку рисования или принимать Любая кнопка рисования. Триггер, указывающий кнопку, которую вы здесь выключили, никогда не совпадает. См. Страница «Действия».
- Левая кнопка — особый случай. Любое перетаскивание левой кнопкой на 5 пикселей и более над окном, где работают жесты, становится жестом, поэтому выделение текста, перетаскивание файлов и перемещение окон там перестают работать. Это полезно для ввода пером и планшетом, где второй кнопки нет.
- Переназначенные кнопки мыши. Если в Windows основная и дополнительная кнопки поменяны местами, названия следуют Windows: Правая кнопка — это кнопка, открывающая контекстные меню, то есть физически левая кнопка.
- Каждая кнопка рисования может рисовать собственным стилем следа. См. Следы жестов.
Когда нажатие начинает жест
Нажатие кнопки рисования начинает захват жеста, если только не выполняется одно из условий ниже. В каждом из этих случаев нажатие без задержки и без изменений уходит в окно:
| Нажатие проходит насквозь, когда… | Где это задаётся |
|---|---|
| Input.Observer выключен или приостановлен, пока окно в фокусе | Значок в трее, Группы приложений |
| Удерживается клавиша из Клавиши-модификаторы игнорирования ② (Ctrl, если вы не меняли) | Игнорируемые клавиши-модификаторы |
| Окно входит в группу игнорирования | Группы игнорирования |
| Ни у одной группы приложений и ни у глобальной группы жесты для этого окна не работают | Область действия и правила отката |
| Нажатие находится в зоне исключения | Зоны исключения |
| След предыдущего жеста ещё стирается (только встроенный след, долю секунды) | Следы жестов |
Скрипт попросил пропустить следующий жест (EngineDisableNextGesture) | Встроенные функции |
В расчёт берётся окно верхнего уровня под указателем в момент нажатия. Жест, начатый в текстовом поле внутри браузера, считается нарисованным над окном браузера. Перемещение на другое окно во время рисования ничего не меняет.
Щелчок или жест
Нажатие не является жестом, пока указатель не отойдёт достаточно далеко от точки нажатия:
- Минимальное перемещение для жеста — 5 пикселей по прямой от точки нажатия.
- Отпущено раньше: это был щелчок. Input.Observer отправляет нажатие и отпускание окну в точке нажатия, поэтому щелчок правой кнопкой по-прежнему открывает контекстное меню.
- Сдвинуто на это расстояние: с этого момента это жест, даже если вернуться в начальную точку.
Расширенный режим. Минимальное перемещение для жеста (от 0 до 200 пикселей) находится на карточке Начало жеста страницы Общие. При 0 жестом становится малейшее движение.
Во время рисования
- След появляется, когда штрих уже стал жестом и сдвинулся на 8 пикселей от начала. Он рисуется поверх всех мониторов, поэтому штрих может переходить с одного монитора на другой. См. Следы жестов.
- Подсказка называет действие, которое выполнится, если отпустить кнопку сейчас. Она появляется, когда штрих длится 150 миллисекунд или сдвинулся на 24 пикселя, следит за каждым изменением и исчезает, как только штрих перестаёт чему-либо соответствовать. Подсказка показывает ровно то, что выполнится при отпускании. См. Подсказки и сообщения.
- Клавиши и другие кнопки удерживаются. Пока вы не отпустите кнопку, нажатия клавиш, повороты колеса мыши и другие кнопки мыши не доходят ни до одного окна. Нажатие Ctrl, Shift, Alt или Win, другой кнопки мыши или поворот колеса считается модификатором жеста (см. Модификаторы и время нажатия); остальные клавиши просто отбрасываются. Отпускание Ctrl, Shift, Alt или Win всегда доходит до окна. Горячая клавиша остановки всех действий продолжает работать.
- Клавиши, удерживаемые до нажатия. Если отпустить такую клавишу во время рисования, её отпускание тоже удерживается. Отпускать клавиши, отпущенные во время жеста (по умолчанию включено, расширенный режим, страница Общие, карточка Тонкая настройка) отправляет это отпускание после окончания жеста, чтобы окно не считало клавишу всё ещё нажатой.
Завершение жеста
| Что происходит | Что получает окно под указателем | Что выполняется |
|---|---|---|
| Вы отпустили кнопку, не сдвинув указатель на 5 пикселей | Щелчок в точке нажатия | Ничего |
| Вы отпустили кнопку после рисования, и штрих соответствует действию | Ничего: нажатие израсходовано | Действие |
| Вы отпустили кнопку после рисования, и ничего не совпало | Ничего: нажатие израсходовано | Глобальное событие Нет совпадений, если вы его настроили |
| Вы не двигаетесь в течение тайм-аута отмены | Нажатие в точке нажатия, затем указатель в его текущем положении; ваше отпускание следует за ними | Ничего |
| Жест достигает максимальной длительности | Нажатие, если кнопка ещё нажата | Ничего |
Во всех случаях, когда захват начался, при отпускании кнопки выполняется глобальное событие Кнопка рисования отпущена, если вы его настроили, — кроме случаев тайм-аута отмены и максимальной длительности. См. Глобальные события.
Тайм-аут отмены
Тайм-аут отмены возвращает нажатие окну, когда вы не двигаетесь:
- Тайм-аут отмены по умолчанию 500 миллисекунд (Общие, Завершение жеста). Выключите его, чтобы захват оставался открытым, пока вы не отпустите кнопку. Диапазон — от 0 до 10 000 миллисекунд; при 0 каждый захват отменяется сразу после начала.
- Любое движение мыши или нажатие клавиши во время жеста перезапускает его, поэтому учитывается только время, когда вы стоите на месте. Остановка такой длительности посреди штриха завершает жест и возвращает нажатие: окно тогда видит обычное перетаскивание этой кнопкой.
- Отменённый жест ничего не выполняет.
Расширенный режим. Рисование продлевает тайм-аут отмены (по умолчанию включено) — переключатель, отвечающий за правило перезапуска. Если его выключить, весь жест должен быть закончен в пределах тайм-аута отмены, отсчитываемого от нажатия, даже если вы продолжаете рисовать. Группа приложений может переопределить тайм-аут отмены для своих окон карточкой Тайм-аут отмены (от 0 до 60 000 миллисекунд); см. Группы приложений.
Максимальная длительность жеста (по умолчанию 10 000 миллисекунд, 0 — без ограничения) завершает любой жест, который всё ещё открыт по прошествии этого времени от нажатия, что бы вы ни делали. Она нужна на случай, если отпускание так и не дойдёт до Input.Observer, например потому, что вы отпустили кнопку на экране Ctrl+Alt+Del.
После совпадения
Когда штрих соответствует действию:
- Активировать окно под жестом (по умолчанию включено, Общие, Когда жест распознан) выводит окно, над которым вы нажали кнопку, на передний план, чтобы всё, что вводит действие, попало туда.
- Выполняется действие вместе с действиями «до» и «после», если они есть. См. Действия «до» и «после».
Параметры на этой странице
| Параметр | Страница и карточка | По умолчанию | Диапазон |
|---|---|---|---|
| Кнопки рисования | Общие, Начало жеста | Правая кнопка | Любое сочетание или ни одной |
| Клавиши-модификаторы игнорирования | Общие, Начало жеста | Ctrl | Ctrl, Shift, Alt |
| Минимальное перемещение для жеста (расширенный) | Общие, Начало жеста | 5 пикс. | 0–200 пикс. |
| Интервал колеса как модификатора (расширенный) | Общие, Начало жеста | 500 мс | 0–10 000 мс |
| Тайм-аут отмены | Общие, Завершение жеста | 500 мс | Выкл. или 0–10 000 мс |
| Рисование продлевает тайм-аут отмены (расширенный) | Общие, Завершение жеста | Вкл. | |
| Максимальная длительность жеста (расширенный) | Общие, Завершение жеста | 10 000 мс | 0 (без ограничения)–600 000 мс |
| Активировать окно под жестом | Общие, Когда жест распознан | Вкл. | |
| Отпускать клавиши, отпущенные во время жеста (расширенный) | Общие, Тонкая настройка | Вкл. |
Интервал колеса как модификатора объясняется на странице Модификаторы и время нажатия.