Состоялся (https://lists.freedesktop.org/archives/wayland-devel/2016-Ju...) релиз библиотеки Libinput 1.4 (https://www.freedesktop.org/wiki/Software/libinput/), развиваемой разработчиками Wayland с целью создания единого унифицированного стека ввода для различных графических систем и приложений, позволяющего использовать одни и те же средства обработки событий от устройств ввода в композитных серверах на базе Wayland и системах на основе X.Org. Кроме обработки событий ввода, библиотека предоставляет средства для определения устройств и управления устройствами, абстрагируя данные операций от конкретных реализаций. Код библиотеки поставляется (http://cgit.freedesktop.org/wayland/libinput) под лицензией MIT.Выпуск Libinput 1.4 примечателен (http://who-t.blogspot.ru/2016/07/libinput-is-done.html) реализацией всей изначально запланированной для Libinput функциональности, определённой в списке TODO. Наиболее заметным новшеством Libinput 1.4 является поддержка (http://who-t.blogspot.com.au/2016/07/libinput-and-graphics-t...) режимов работы графических планшетов, определяющих привязку жестов (например, в одном режиме круговой жест может приводить к прокрутке, а в другом к масштабированию). Среди других новшеств - поддержка вращения для трекболов, реализация ускорения указателя для планшетов Wacom, улучшение качества распознавания жестов из трёх и четырёх касаний, средства для настройки эмуляции средней кнопки для кликпадов.
URL: http://who-t.blogspot.ru/2016/07/libinput-is-done.html
Новость: http://www.opennet.me/opennews/art.shtml?num=44816
Нужно. Жаль только, что на тачпадах, которые semi-mt, но часть жестов все-таки распознают правильно, он блокирует все не глядя. Хотя, насколько понимаю, это программно не проверить, только БД девайсов составлять.А то у меня тачпад нормально распознает 3-пальцевый свайп и (местами криво) щипок 2 и 3 пальцами. Чтобы они работали, надо накладывать патч.
Нужно. Был нормальный Xinput 1 с поддержкой мышки, клавиатурки и evdev. Был нормальный Xinput 2.0 с поддержкой Raw Input. А потом пришёл Daniel Stone и сделал ужасный Xinput 2.12 с поддержкой мультитача, которым пользуется ноль программ. В репозитории Дебиана программ, не зависящих от libc6, больше, чем использующих мультитач!Что интересно - был же нормальный MultiPointer X, который развивался с 2007 года, и который отклоняли и отклоняли в Xorg! Чтобы потом взять и сделать своё, наколенное, но своё!
А потом Daniel Stone сказал что Xinput 2.2 СЛОЖНЫЙ и что скорей бы уже Wayland (который к этому моменту планировался в Ubuntu 12.10). Забыв упомянуть что он - его автор.
2.12 = 2.2. В общем, сабж позволит наконец-то появиться софту с поддержкой мультитача
Так уже ж. GTK и Clutter нативно работают с Libinput, в итоге под Wayland кое-где жесты есть:
В gnome-shell переключение рабочих столов свайпом 4 пальцами + еще что-то.
В eog pinch-to-zoom и pinch-to-rotate (под Иксами традиционно масштабирование прокруткой, поворот только кнопками/хоткеями)
В evince тоже pinch-to-zoom.
Еще в том же eog, а еще в gnome-builder в списке шорткатов есть свайп 2 пальцами для перелистывания. Это, видимо, только для тачскринов, а не для тачпадов.Может, где еще было, но я вейланд мало тыкал.
> 2.12 = 2.2. В общем, сабж позволит наконец-то появиться софту с поддержкой
> мультитачаДа, есть еще https://github.com/bulletmark/libinput-gestures
Скрипт на питоне, который читает выхлоп libinput-debug-events (надо, чтобы юзер был в группе input + если используется selinux, то нужен доступ к /dev/input/event*) и запускает указанные действия.Плавности нету, но если немного модифицировать скрипт, чтобы ловил не только окончание а еще и начало и обновления жеста, то можно сделать все очень плавно.
Типичный иксоломатель, вейландостроитель.
> определяющих привязку жестов (например, в одном режиме круговой жест может приводить к прокруткеРазве данная библиотека за это должна отвечать, а не конечное приложение? А вдруг в моём приложении НУЖЕН круговой жест, а он будет заменяться прокруткой в вышестоящей библиотеке?
... что-то как-то через..
> Разве данная библиотека за это должна отвечать, а не конечное приложение?Жесты распознаёт не библиотека, а тачпад, и генерирует готовое событие. Библиотека лишь может задать режим, какой жест в какое событие переводить.
Таки библиотека. Тачпад только распознает позиции пальцев (либо количество и прямоугольник, в котором они находятся, такие тачпады направляя называются semi-multitouch), а жесты распознает уже библиотека.
Счастливые пользователи трекпоинтов искренне не понимают, зачем кому-то могут понадобиться эти тачпады и мультитачи.
это на забекдоренном железе? сомнительное счастье
На железе, наиболее поддерживаемом Libreboot.
> это на забекдоренном железе?И что же макофилы называют "бэкдором"?
>> это на забекдоренном железе?
> И что же макофилы называют "бэкдором"?В леновах с обратной стороны частенько есть такая отвинчивающаяся крышка, чтобы раму вставлять или вайфай карту менять. Еще одна для замены харда/ссд.
Ну и штатно, без всяких сервисных центров, заменяемая батарея, как и по желанию дополнительно вставляемая вторая /хард/дисковод тоже не дают маководам спокойно спать.
Ну и где вопли про коварный Red Hat, насильно сующий вам неюниксвейного монстра?
В centos7 отломали дефолтную работу скроллинга с помощью трекпоинта и средней кнопки (как тут https://support.lenovo.com/th/en/documents/ht000611 )
> В centos7 отломали дефолтную работу скроллинга с помощью трекпоинта и средней кнопки
> (как тут https://support.lenovo.com/th/en/documents/ht000611 )В винде это есть?
Ты такие вопросы задаешь... Вроде в virtualbox работает (хост федора). Но на машине с центос7 не проверял
$cat /etc/X11/xorg.conf.d/20-thinkpad.conf
Section "InputClass"
Identifier "Trackpoint Wheel Emulation"
MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad
/ TrackPoint"
MatchDevicePath "/dev/input/event*"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "Emulate3Buttons" "false"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSectionТо есть вот так не работает ?
Я ж говорю, дефолтную. Sane defaults рулят
Вроде бы с libinput это из коробки работает.
Приложениям на Qt5 пофиг на этот конфиг. Wayland пофиг на этот кофиг. И это печально... Надо либо в libevent такое делать, либо на уровне модуля ядра. Чот даже не знаю как такое настроить без особых заморочек.
A кто из использующих Wayland подскажет, как там с собственной раскладкой клавиатуры как в X11 через xkb/symbols/ru? И можно ли так же легко настроить переключатели как в X11 (-option grp:… ,lv3:ralt_switch,compose:…)
> A кто из использующих Wayland подскажет, как там с собственной раскладкой
> клавиатуры как в X11 через xkb/symbols/ru? И можно ли так же
> легко настроить переключатели как в X11 (-option grp:… ,lv3:ralt_switch,compose:…)Ну вот у меня кастомные раскладки в xkb/symbols/us и ru + пара типов в xkb/types/level5. В итоге используются модификаторы 3 и 5 уровня.
В гноме разницы между X11 и Wayland не увидел, все работает из коробки.
Переключалка настраивается через gnome-control-center штатным образом. Единственное, что я не проверял, так это отображение раскладки на индикаторе ScrollLock, т.к. у меня на ноутбуке его нет.
Вейланд это только API для отрисовки окон и получения событий ввода (и некоторых других вещей). Собственно рендерингом, управлением окнами, глобальными горячими клавишами (включая переключение раскладок) должна заниматься конкретная реализация вейланд-сервера (KWin, Mutter, Weston и т.п.) самостоятельно. Т.е. в каждом DE переключение раскладок настраивается по-своему.
Вейланд это только API для отрисовки окон и получения событий ввода (и некоторых других вещей). Собственно рендерингом, управлением окнами, глобальными горячими клавишами (включая переключение раскладок) должна заниматься конкретная реализация вейланд-сервера (KWin, Mutter, Weston и т.п.) самостоятельно. Т.е. в каждом DE переключение раскладок настраивается по-своему. Но для рядовых пользователей гнома/кед разницы никакой (если только разработчики гнома не решат выпилить какую-нибудь фичу, "слишком сложную для обычного пользователеля").
Ну ещё пяток унифицирующих прослоек и заживём