Алан Дэй (Allan Day)
aday@gnome.org
Якуб Штайнер (Jakub Steiner)
Работа с мышью, сенсорными панелью и экраном.

# Указатель и сенсорный ввод

Указатель и сенсорный ввод — два главных способа взаимодействия с вашим приложением.

# Ввод с помощью указателя

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

## Главная и вспомогательная кнопки

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

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

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

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

## Общие рекомендации

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

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

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

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

Любые незавершённые действия с мышью должны иметь возможность отмены. Нажатие клавиши Esc должно отменять любые незавершённые действия с мышью: перетаскивание файлов в файловом менеджере, рисование фигур в графическом редакторе и т. п.

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

## Дублирование управления с клавиатуры

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

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

Действие | Мышь | Клавиатура
--- | --- | ---
Открыть элемент | Главная кнопка | Space
Добавить/убрать элемент из выделения | Ctrl и главная кнопка | Ctrl Space
Расширить выделение | Shift и главная кнопка | Shift в комбинации с любой из следующих клавиш: Space Home End PageUp PageDown
Изменить выделение | Главная кнопка | Одна из кнопок: ← ↑ → ↓ Home End PageUp PageDown
Выделить всё | Выбрать главной кнопкой первый элемент, затем выбрать главной кнопкой последний элемент, удерживая клавишу Shift | Ctrl A
Убрать выделение | Нажать главную кнопку на фоне контейнера | Shift Ctrl A

# Сенсорный ввод

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

## Прикладные соглашения о сенсорном управлении

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

Действие | Описание | Что делает
--- | --- | ---
Нажатие
| Нажатие на элемент. | Основное действие. Открывает элементы: полноэкранный просмотр фотоснимка, запуск приложения, воспроизведение песен.
Нажатие с удержанием
| Нажать и держать секунду или две. | Вспомогательное действие. Выбрать элемент и вывести список доступных действий.
Перетаскивание
| Перенести палец, касаясь поверхности. | Прокручивает область на экране.
Сведение или разведение
| Коснитесь поверхности двумя пальцами, затем сводите или разводите их. | Изменяет масштаб просмотра (карты, фотографии и пр.).
Двойное нажатие
| Дважды быстро коснуться экрана. | Последовательно приближает.
Рывок
| Очень быстрое перетаскивание с убиранием пальца от поверхности без замедления. | Удаляет элемент.

## Системные соглашения о сенсорном управлении

В GNOME 3 несколько жестов зарезервированы под системные нужды. Не используйте эти жесты в своих приложениях.

Перетаскивание у границы
| Проведите пальцем от границы экрана. | Нижняя граница открывает панель сообщений. Верхняя левая граница открывает меню приложения. Верхняя правая граница открывает системное меню. Левая граница открывает «Обзор» в режиме отображения доступных приложений.
Щипок тремя пальцами
| Сведите три или более пальцев друг к другу, касаясь при этом ими поверхности. | Открывает «Обзор».
Перетаскивание четыремя пальцами
| Перетаскивайте вверх или вниз четыремся пальцами, касаясь ими поверхности. | Переключает рабочее место.
Удерживание тремя пальцами с нажатием
| Удерживайте три пальца на поверхности, затем коснитесь поверхности четвёртым пальцем. | Переключает приложение.