Конфигурялка мыши Logitech
Принес новость обладателям Logitech и любителям тестить железо и ковыряться в системе. Может кому интересно будет добавить свою мышку (есть гайды) и законтрибутить в развитие проекта. Если что, мопед не мой.
Цитата с гитхаба:
Как и многие из вас, я ждал, когда Logitech выпустит Options+ для Linux. Но устал ждать.
Прежде всего — огромное уважение командам Solaar и logiops. Они проложили путь, проведя реверс инжиниринг HID++, и на протяжении многих лет являются опорой поддержки Logitech в Linux. Без их работы я бы никуда не продвинулся.
Тем не менее, после ежедневного использования MX Master 3S я постоянно сталкивался с одними и теми же проблемами:
Solaar отлично подходит для мониторинга и базовой настройки, но в нём нет переключения профилей для отдельных приложений — я не мог добиться автоматического изменения DPI и настроек кнопок при переключении между Firefox и терминалом. Возможности настройки режимов кнопки жестов и колесика большого пальца через интерфейс также довольно ограничены.
logid — мощный инструмент, но работает как системный демон, который постоянно мешал работе KDE. Я потратил слишком много часов на отладку того, почему мои функции масштабирования и регулировки громкости конфликтовали друг с другом (logid и Plasma одновременно обрабатывали события одной и той же кнопки). А редактирование конфигураций YAML для каждой комбинации кнопок быстро надоедает.
Все, что я хотел, это аналог Options+. Нажимаете кнопку мыши, выбираете, что она делает, готово. Все как положено, с профилями под разные приложения, которые переключаются по Alt+Tab и т.д.
Поэтому я создал Logitune.
Это настольное приложение на Qt6, которое напрямую взаимодействует с HID++ 2.0 через hidraw. Никаких демонов, работающих в фоновом режиме, никаких конфигурационных файлов — просто обычное приложение с иконкой в трее.
Основные особенности:
- Профили для каждого приложения, которые переключаются автоматически при фокусировке окна (KDE Plasma 6 + GNOME 42+ Wayland)
- Визуальная настройка — кликабельное изображение мыши с активными зонами, как в Options+
- Жесты — удерживание + свайп для 5 действий на профиль
- Колесико — горизонтальная прокрутка, масштабирование или громкость, для каждого приложения
- DPI, SmartShift, прокрутка с высоким разрешением — все необходимое
- Bolt + Bluetooth с автоматической переключением между ними
- Никаких демонов, никаких прав root — обычное приложение
Сейчас поддерживается MX Master 3S. Приложение имеет модульную структуру — каждое устройство является самостоятельным, со своим собственным дескриптором, изображениями и настройками кнопок. Добавление поддержки новой мыши несложно. В вики есть пошаговое руководство, если вы хотите внести свой вклад.
На данный момент поддерживаются KDE и GNOME, так как есть нюансы с отслеживанием и перехватыванием фокуса. Для других DE заявлена базовая функциональность. Нно добавить свое DE тоже несложно.
Кроме того, есть вики-сайт с документацией по архитектуре и подробными описаниями протокола HID++, если вам интересно, как всё это устроено «под капотом».
Установка:
- Arch: yay -S logitune
- Ubuntu 24.04 / Fedora 42: репозиторий OBS
- Из исходного кода: cmake + Qt6