LINUX.ORG.RU

И снова про тачскрины и Linux

 ,


0

1

Поставил я такой xf86-input-wacom и тачскрин сразу же заработал. Правда, несколько специфически - тап двумя пальцами вызывает контекстное меню, а если двумя пальцами тащить, то будет либо прокрутка, либо зум (зависит от того, меняется ли расстояние между двумя пальцами во время перетаскивания). Это работает не в 100% случаев - зачастую воспринимается как одиночный клик или два клика (сначала по координатам первого пальца, затем по координатам второго пальца). В общем, глючит, но как-то работает. Зато во всех приложениях вообще, даже тех, что тач точно не умеют. Предполагаю, что по факту жесты зума и прокрутки превращаются в события от колёсика мыши (при этом зум делается с помощью эмуляции зажатия клавиши Ctrl).

Затем я поставил пакет kcm-wacomtablet-frameworks-git. Что-то там потыкал и... Google Chrome понял, что у меня есть тачскрин и его появление стало эквивалентно видновому (в хорошем смысле этого слова). Теперь у меня не дискретная, а плавная кинетическая прокрутка, плавный зум, при тапе по тексту появляются специальные штучки для удобного выделения и быстрого доступа к вырезать/вставить/копировать (как на Android прямо). Короче всё круто.

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

Ладно, я могу понять, что не умеет тач какой-нибудь IDLE на Tkinter'е, но Qt5-приложения???

Если поставить галку Enable gestures в модуле настроек, то всё становится по-старому - тач-жесты начинают работать во всех приложениях, но зато приложения, которые явно поддерживают тачскрин перестают понимать, что работают с тачскрином.

В общем, вопрос, что с этим всем делать.

1) Можно как-нибудь сделать так, чтобы для приложений, которые умеют тач всё работало нормально, а для тех, которые не умеют, остался режим эмуляции, который кривой, но зато работает с любым приложением (тут даже винда курит в сторонке - pitch-to-zoom работает в приложении под Wine, которое под офтопиком такое не умело). В крайнем случае какой-нибудь белый список приложений, которым тач-события доходят без обработки.

2) Может есть какой-нибудь модуль или опция, которая позволяет Qt приложениям, которые явно не умеют в тач, использовать эмуляцию?

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

★★★★★

Ответ на: комментарий от Guest_now

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

KivApple ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.