Где применяются действия
Каждое действие принадлежит одной группе приложений. Группа приложений — это набор окон, описанный правилами вида «имя программы — ровно chrome.exe». Зарезервированная группа Глобальная содержит действия для всех окон.
Когда вы рисуете жест, Input.Observer отвечает на следующие вопросы в таком порядке. Первое «нет» завершает проверку.
- Начинает ли это нажатие жест вообще? Нет, если окно входит в группу игнорирования, удерживается клавиша-модификатор, которую вы задали как игнорируемую, или нажатие находится в зоне исключения.
- Какая группа приложений владеет окном? Первая группа в списке, правила которой соответствуют окну, над которым была нажата кнопка. Окном всегда владеет только одна группа. См. Группы приложений.
- Работает ли эта группа здесь сейчас? Это решают её переключатель Жесты работают здесь и ограничение по профилю. Если не работает, её место занимает группа Глобальная, но только когда это разрешает Резервный переход к глобальной группе.
- Какую фигуру вы нарисовали? Штрих сравнивается с фигурами, которые использует эта группа (и глобальная, если возможен откат). См. Как сопоставляется штрих.
- У какого из действий группы есть подходящий триггер для этой фигуры? Каждый триггер может также требовать клавиши-модификаторы, кнопку рисования, ячейки областей и профиль. Выполняется первое подходящее действие в списке.
- В группе ничего нет? Затем пробуются действия глобальной группы, если это разрешает Резервный переход к глобальной группе.
- Выполнение — в обрамлении действий «до» и «после», если они есть.
На странице Область действия и правила отката каждый из этих шагов сформулирован точно, с разобранными примерами. Горячие клавиши и подстановка текста следуют тем же правилам групп; различия также перечислены там.
- Группы приложений — Объединение программ и окон в группы, чтобы действия применялись только к ним.
- Область действия и правила отката — Какое именно действие выполняется: окно, которое берётся в расчёт, какие группы приложений применяются и все правила разрешения равенства.
- Группы игнорирования — Программы и окна, где Input.Observer не вмешивается: что значит «игнорируется», группы только для полноэкранного режима, приостановка всего и какая группа побеждает.
- Области — Разделение окна или экрана на ячейки, чтобы один и тот же жест делал разное в разных местах.
- Модификаторы и время нажатия — Клавиши и кнопки мыши, удерживаемые вместе с жестом, когда их нужно нажимать и как они определяют, какое действие выполнится.
- Профили — Переключение между наборами действий с помощью профилей жестов.
- Действия «до» и «после» — Выполнение действия до или после другого и порядок, в котором всё выполняется.