Поделиться через


Жесты flicks

Windows Vista включает в себя набор из восьми основных жестов. Flicks являются быстрыми, линейными движениями пера, связанными с прокручивающими действиями и командами.

Flick Details

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

— это однонаправленный жест пера, который требует, чтобы пользователь связался с дигитайзером в быстром движении. Мерцание характеризуется высокой скоростью и высокой степенью прямой. Flick определяется по его направлению. Flicks можно сделать в восьми направлениях, соответствующих кардиналу и вторичным компасам.

Действие или действие является действием или ярлыком, выполняемым в ответ на flick. Flicks сопоставляются с действиями. На следующем рисунке показана схема из восьми перьев, которые соответствуют их действиям по щелчку.

иллюстрация с картой жестов

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

Подпрограмма обнаружения flick реализуется в подсистеме ввода пера. Обнаружение Flick начинается с пера вниз и продолжается до тех пор, пока:

  1. Последовательность полученных пакетов определяется, что не является мерцанием или

  2. выполняется перо.

При обнаружении пятно выполняется, пакеты пера удерживаются и не отправляются в систему. Это необходимо сделать, так как отправка пакетов может повлиять на действие flick, которое выполняется. Например, отправка пакетов во время действия копирования, которое сопоставляется с выбранным действием копирования, означает, что к моменту отправки действия не будет ничего.

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

Где обнаруживаются щелки

Жесты flick становятся возможными благодаря тому, что перетаскивания обычно выполняются довольно медленно. Пользователь должен сначала нацелить начальную точку перетаскивания, выполнить перетаскивание, а затем нацелить конечную точку. Как правило, это займет слишком много времени, чтобы квалифицироваться как flick. Тем не менее, на рукописных поверхностях быстрые штрихи, которые бы квалифицироваться, как flicks происходит часто; Пересечение "t" является общим примером. Таким образом, по умолчанию обнаружение мерцания отключается над поверхностями рукописного ввода и включается на уровне системы.

Проблемы с фокусом

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

Действия flick

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

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

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

Обратная связь flick состоит из двух частей; значок, представляющий действие и метку, содержащую имя действия. Метка отображается под значком. Обратная связь отображается сразу после обнаружения flick. Хотя приложения могут настроить свое поведение в ответ на щелки, обрабатывая сообщение о окне flick, приложение не может отключить или изменить обратную связь.

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

Обработка команд приложения

Приложение должно реагировать на любые команды приложения, которые могут быть потенциально назначены жесту flick. Если приложению не удается ответить насообщенияWM_TABLET_FLICK, Windows Vista следует, отправив соответствующее уведомление WM_APPCOMMAND, а затем уведомление WM_KEYDOWN.

Ниже приведен список команд приложений, которые могут быть назначены для flicks, с сообщением об нажатии клавиш резервного копирования, которое может быть отправлено.

Команда Нажатие клавиш резервного копирования
APPCOMMAND_BROWSER_BACKWARD
Никакой
APPCOMMAND_BROWSER_FORWARD
Никакой
APPCOMMAND_COPY
CTRL+C
APPCOMMAND_PASTE
CTRL+V
APPCOMMAND_UNDO
CTRL+Z
APPCOMMAND_DELETE
Del
APPCOMMAND_CUT
CTRL+X
APPCOMMAND_OPEN
CTRL+O
APPCOMMAND_PRINT
CTRL+P
APPCOMMAND_SAVE
CTRL+S
APPCOMMAND_REDO
CTRL+Y
APPCOMMAND_CLOSE

Команды редактирования, такие как копирование, вставка, вырезание и удаление, могут быть направлены против выделения или объекта, расположенного в базе жеста flick. Если выбора нет, можно использовать данные в FLICK_POINT структуре, чтобы определить, что, если таковой имеется, объект может быть целевым объектом команды редактирования.

Справочник по API Flicks

реагирование на жесты Flick