понедельник, 7 октября 2019 г.

Мышиная возня на iPad

Одним из значимых нововведений операционной системы iPadOS для Apple iPad является поддержка манипуляторов типа "мышь", что еще на один шаг приближает данное устройство к возможностям полноценных настольных ПК и ноутбуков. И если с поддержкой клавиатур у iPad уже давно все обстоит замечательно, хочешь - подключай беспроводную клавиатуру по Bluetooth, хочешь - используй разъем Smart Connector или USB Type-C, то вот мышки долгое время были персонами нон грата в экосистеме портативных устройств Apple. В то же время, конкурирующие платформы в лице планшетов на ОС Android или Windows "из коробки" поддерживают такое незаменимое для каждого Desktop пользователя устройство ввода.

Но, кажется, компания Apple наконец поняла - одними пальцами и стилусами обойтись можно далеко не всегда, и теперь все владельцы iPad могут использовать мышки (беспроводные Bluetooth или проводные, подключаемые по USB через переходник USB Type-C) для полноценной работы с iPadOS. Что же получилось в итоге, и так ли все замечательно, как кажется на словах? Давайте разбираться.

Но зачем?

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

Во-вторых, использование планшета в качестве полноценного мобильного клиента для организации доступа к терминальным приложениям и виртуальным рабочим станциям для работы с унаследованными приложениями с Windows, MAC OS X, Linux. Огромное количество приложений с данных платформ до сих пор не адаптированы под работу в Touch режиме, и хотя многие приложения для удаленного доступа предоставляют виртуальный track pad, позволяющий повысить точность позиционирования, полноценная мышка гораздо удобнее.

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

Как это работает?

Поддержка мышек в iPadOS существенно отличается от того, как это сделано в MAC OS X или других мобильных платформах. По сути, мышка в iPadOS эмулирует работу пальца/стилуса, с одной стороны - это плюс, т.к. это позволяет обеспечить совместимость со всеми имеющимися приложениями на iPad, с другой - минус, так как ОС и приложения фактически не задействуют правую кнопку мышки (о чем мы поговорим далее).

Поддерживаются не только оригинальные мышки Apple (важный момент, в интерфейсе прямо указано, что мыши Apple Magic Mouse и Magic Trackpad не поддерживаются при подключении по Bluetooth), но и мышки сторонних производителей.

Для использования мышки требуется активировать Bluetooth и подключить требуемое устройство.

После этого нужно перейти в меню Accessibility -> Touch -> AssistiveTouch и активировать соответствующую опцию.

После включения функции AssistiveTouch пользователи могут увидеть курсор мыши, который вместо привычной всем стрелки заменен на точку. И тут всплывает первое ограничение - настроить вид курсора нельзя, только поменять размер и цвет.

Также на экране появляется небольшое меню (Top-Level Menu), из которого можно получить доступ к быстрым командам (Home, Siri, Control Center, Notifications и т.д.).

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

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

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

Из недостатков стоит отметить инвертированную прокрутку с использованием колеса мышки. Большинство пользователей привыкли, что при прокрутке колеса мышки в сторону к себе, содержимое страницы скролится вниз, при прокрутке от себя - вверх. В Apple отчего-то решили сделать все наоборот (как в Touch Pad на ноутбуках) и не стали добавлять в настройках возможность выбора направления прокрутки. Также пару раз возникали проблемы с работой прокрутки в некоторых нативных приложениях - web-браузер, заметки и прочие.

Есть и другие отличия по сравнению с Desktop платформами. Например, при работе в web-браузере или заметках, когда вы хотите выбрать текст, если вы попробуете зажать левую кнопку мышки и затем выделить текст, то просто активируете скроллинг экрана, как если бы попробовали сделать это действие пальцем или стилусом. Для копирования текста требуется предварительного выделить одно слово длинным нажатием, а затем растянуть область выделения до требуемой, к чему следует привыкнуть.

Также в iPadOS отсутствуют функции, связанные с нажатием правой кнопки мыши (ПКМ), что доставляет неудобства при работе со многими десктопными приложениями в режиме удаленного рабочего стола. ОС и приложениям просто не умеют обрабатывать ПКМ. Для эмуляции нажатия ПКМ, например, для вызова контекстного меню используется долгое нажатие (long tap). Частично решить данную проблему, назначив на ПКМ соответствующую команду из меню настроек мышки, но даже в этом случае любое нажатие на ПКМ будет сопровождаться 2 секундной задержкой, перед выполнением действия.

Особенно сильно данные ограничения проявляются в процессе работы со всевозможными клиентами удаленного доступа. На видео я записал пример того, как можно работать с мышкой на iPad, используя клиент Horizon Client for iOS.

Выводы

Подводя итоги, Apple проделала большую работу для обеспечения работы iPad с мышкой, но им еще есть куда расти. Несколько небольших недостатков вроде отсутствие настроек прокрутки или формы курсора должны должны быть легко поправимы, а вот невозможность нормального использования ПКМ является существенным ограничением в работе с терминальными приложениями и удаленными рабочими станциями. Пока же, действительно работающим решением является использование специализированного манипулятора Swiftpoint GT (или более современного Swiftpoint ProPoint), который полностью поддерживается в Horizon Client for iOS и других мобильных клиентах под платформу iOS/iPadOS.

P.S. Все, что я писал про поддержку мышек в iPadOS справедливо и для смартфонов Apple iPhone с iOS со скидкой на то, что вряд-ли будет много желающих подключать к iPhone клавиатуру и мышь для работы на крошечном 5-6" экране.