Виталий Алексеев

06 / 06 · Rust · syngui · hidraw

ardor-mouse

Нативная программа для настройки беспроводной мыши ARDOR GAMING Edge Air Ultra в Linux — замена фирменной OemDrv.exe, которая есть только под Windows.

Лицензия
MIT
Платформа
Linux · ARDOR GAMING Edge Air Ultra
Пакеты
ardor-mouse (AUR)
Статус
Проверено на Edge Air Ultra
ardor-mouse: ступени DPI с цветами индикатора
ardor-mouse: ступени DPI с цветами индикатора
ступеней DPI, у каждой свой цвет
8
диапазон DPI
50–19 000
эффектов подсветки с живым превью
7
тестов на пакетах с настоящей мыши
30
01

Что это

Производитель не выпускает софта под Linux и не публикует протокол. Всё восстановлено реверс-инжинирингом: утилита для Windows дизассемблирована, её USB-трафик сверен с живой мышью, каждое поле EEPROM проверено на настоящих дампах.

Программа написана на Rust и syngui и общается с мышью напрямую через hidraw — без модуля ядра, без демона и без root. Настройки читаются из памяти самой мыши, а обратно записываются только изменённые участки, так что программа не затирает то, чего не понимает.

02

Возможности

  • DPI: до 8 ступеней от 50 до 19 000 DPI, у каждой свой цвет индикатора; выбор активной ступени.
  • RGB-подсветка: статичная, дыхание, поток, неон, бегущая строка, дыхание цветом или выключена — цвет, скорость, яркость и живое превью.
  • Кнопки: переназначение всех шести — клики, назад / вперёд, переключение DPI по кругу / вверх / вниз или отключение.
  • Сенсор: частота опроса 125 / 250 / 500 / 1000 Гц, высота отрыва 1 / 2 мм, антидребезг, выравнивание линий, подавление дрожания, тайм-аут сна.
  • Уровень заряда батареи и состояние зарядки.
  • --simulate запускает программу с виртуальной мышью; ARDOR_TRACE=1 печатает каждый пакет обмена с мышью.
  • Протокол и карта EEPROM описаны — для тех, кто захочет перенести их в другую программу или на другую мышь с тем же контроллером.
03

Установка

yay -S ardor-mouse        # or: paru -S ardor-mouse

Пакет ставит бинарник, пункт меню, иконки и правило udev, которое даёт вошедшему пользователю доступ к мыши; если приёмник уже был вставлен, переподключите его один раз. Из исходников: cargo build --release и правило udev из packaging/.

Полная инструкция — в README →

04

Требования и ограничения

  • Проверено только с Edge Air Ultra: приёмник 2,4 ГГц 25a7:fa7c и кабель USB 25a7:fa7b (сенсор PixArt PMW3370, контроллер JM03). Другие мыши на том же контроллере могут говорить на том же протоколе.
  • Если мышь спит, приёмник отвечает, но её память недоступна — пошевелите мышью, и настройки загрузятся сами.
  • Интерфейс пока только на русском.
  • Неофициальный проект, с ARDOR GAMING не связан. Запись в EEPROM делается так же, как в фирменной утилите, но вся ответственность — на вас.
05

Скриншоты

Вайбкодинг в Claude Code

Как сделано

Модель пишет код, тесты и большую часть документации. Протокол восстановлен и проверен на моей собственной мыши; тесты разбирают пакеты и дампы EEPROM, снятые с неё.

Всё здесь написано вайбкодингом. github.com/VitaminDB/ardor-mouse