LINUX.ORG.RU

Конфигурялка мыши Logitech

 ,


5

1

Принес новость обладателям 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

GitHub: https://github.com/mmaher88/logitune

★★★★★

Последнее исправление: Gonzo (всего исправлений: 1)

Перебирал разный софт в свое время для настройки G600, остановился на piper.

Ukka
()
Ответ на: комментарий от No

Видимо, через обращение к DE-шным скриптам:

KDE Plasma 6 -> KWin -> KWin script via D-Bus
GNOME 42+ (Wayland) -> Mutter -> Shell extension via D-Bus

Все настройки устройства (кнопки, DPI, прокрутка, жесты, колесико) работают в любой среде рабочего стола — это чистый HID++ через hidraw. Для переключения профилей по отдельным приложениям требуется отслеживание фокуса, специфичное для конкретной среды рабочего стола. KDE использует скрипт KWin, а GNOME — расширение Shell (устанавливаемое автоматически при первом запуске).

Gonzo ★★★★★
() автор топика
Последнее исправление: Gonzo (всего исправлений: 1)

Чет подключенную по блютусу mx master 3s не видит после установки на убунте24.04. Ставил deb-пакетом из obs.
Ребутнуться что ли надо?

[2026-04-09 15:25:31.627] [logitune.app      ] [INFO ] Application started, PID 1164771
[2026-04-09 15:25:31.627] [logitune.app      ] [INFO ] settings file: "/home/oleg-lomakin/.config/Logitune/Logitune.ini" contains theme/dark: false value: QVariant(Invalid)
[2026-04-09 15:25:31.630] [logitune.app      ] [INFO ] creating UinputInjector...
[2026-04-09 15:25:31.630] [logitune.app      ] [INFO ] init uinput...
[2026-04-09 15:25:31.630] [logitune.app      ] [WARN ] UinputInjector: uinput init failed (no /dev/uinput access?). Keystrokes will not be injected.
[2026-04-09 15:25:31.630] [logitune.app      ] [INFO ] Creating QML engine...
[2026-04-09 15:25:31.632] [logitune.app      ] [INFO ] QML engine created
[2026-04-09 15:25:31.632] [logitune.app      ] [INFO ] Loading QML...
[2026-04-09 15:25:31.717] [logitune.app      ] [INFO ] QML loaded, root objects: 1
[2026-04-09 15:25:31.717] [logitune.app      ] [INFO ] Setting theme dark: true
[2026-04-09 15:25:31.717] [logitune.app      ] [INFO ] Theme.dark applied: true
[2026-04-09 15:25:31.717] [logitune.device   ] [DEBUG] scanning existing hidraw devices...
[2026-04-09 15:25:31.718] [logitune.device   ] [DEBUG] found Logitech device: /dev/hidraw2 PID: b034 (direct)
[2026-04-09 15:25:31.718] [logitune.device   ] [DEBUG] probing "/dev/hidraw2"
[2026-04-09 15:25:31.718] [logitune.device   ] [DEBUG] "/dev/hidraw2" has HID++ report ID
[2026-04-09 15:25:31.718] [logitune.device   ] [DEBUG] cannot open "/dev/hidraw2"
[2026-04-09 15:25:31.718] [logitune.device   ] [DEBUG] scan complete: 3 hidraw devices, no device connected
[2026-04-09 15:25:31.719] [logitune.focus    ] [INFO ] GNOME Shell version: "46.0"
[2026-04-09 15:25:31.821] [logitune.focus    ] [WARN ] Failed to enable extension: "\xD0\xA0\xD0\xB0\xD1\x81\xD1\x88\xD0\xB8\xD1\x80\xD0\xB5\xD0\xBD\xD0\xB8\xD0\xB5 \"logitune-focus@logitune.com\" \xD0\xBD\xD0\xB5 \xD0\xBD\xD0\xB0\xD0\xB9\xD0\xB4\xD0\xB5\xD0\xBD\xD0\xBE\n"
[2026-04-09 15:25:31.822] [logitune.focus    ] [WARN ] GNOME: failed to install/enable extension
[2026-04-09 15:25:31.826] [logitune.app      ] [INFO ] Startup complete

Nightwing
()
Ответ на: комментарий от Nightwing

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

Gonzo ★★★★★
() автор топика

автоматического изменения DPI и настроек кнопок при переключении между Firefox и терминалом

странные люди

Bad_ptr ★★★★★
()

Мастерское владение мышью достигается при мастерском отказе от неë :)

yars068 ★★★★★
()

В общем удалось завести с таким udev-правилом

SUBSYSTEM=="hidraw", DRIVERS=="logitech-hidpp-device", TAG+="uaccess"
Потыкал - ну такое, единственная киллер-фича - per-application настроечки. Мне такое не нужно, а в остальном ничуть не лучше solaar.
Надеялся на адекватную поддержку жестов (как на тачпадах), а там, как и в solaar маппинг в нажатия клавиш.

Nightwing
()
Последнее исправление: Nightwing (всего исправлений: 1)

О, я нашел тулзу которая делает правильные жесты! https://github.com/aecsocket/fukomaster
Оно работает через эмуляцию тачпада. Там правда криво работают вертикальные жесты, но я уже это починил и заслал PR.

Если кому-то надо - пофишенная версия тут https://github.com/artokarin/fukomaster/tree/fix-y-axis-filtering

Nightwing
()
Ответ на: комментарий от Nightwing

но я уже это починил и заслал PR

Завидую таким людям. Реально. Круто, чувак.

Gonzo ★★★★★
() автор топика
Ответ на: комментарий от VIT

А то, что «я принес вам новость» и далее текст с кавычкой не вводит ни во что? :)

Ну ок, я чуток подредактирую, раз уж так сильно заблуждает статья.

Gonzo ★★★★★
() автор топика
Ответ на: комментарий от VIT

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

Gonzo ★★★★★
() автор топика
Ответ на: комментарий от Gonzo

В любом случае, фраза «Цитирую без изменений с гитхаба» однозначно указывает, что текст - неизменённая копия от первого лица. Я бы ещё указал, что вами сделан перевод для неанглоязычных.

VIT ★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария