Saitek X52 Linux (LEDs +MFD)

Теги

X52 Professional H.O.T.A.S. — это полностью интегрированная система управления полетами, которая состоит из джойстика и рычага управления двигателем. 

X52 Professional является преемником популярной модели X52. Характеристики комплекта X52, завоевавшего большое признание среди геймеров, существенно переработаны и дополнены. Усовершенствованный многофункциональный ЖК-дисплей отображает игровые данные в режиме реального времени.

..многофункциональный ЖК-дисплей...

Вот с этого момента и начнем... Сам джойстик прекрасно работает и калибруется в GNU/Linux. Возможно, но крайне редко, может не работать дополнительная ось. Больше зависит от игрового проекта. Например ИЛ-2 Штурмовик 1946 видит и настраивает все оси джойстика. ИЛ-2 Великие Сражения, не видит одну, ось на РУДе. Даже нет желания вести разбор причин неработоспособности, поскольку в этом печальном г*вне, ИЛ-2 Великие Сражения, порой не работает все... Просто "бьются бинарные архивы" ресурсов движка, и приходится перекачивать 3-4 gb, и тд и тп.

Конечно под управлением GNU/Linux, требуется драйвер для подсветки и настройки дисплея. Причина проста, устройству требуется доступ к правилам USB хаба, системному времени, и списку профилей настройки. Для GNU/Linux, это не критично... Не светится, не морочит мозг надписями профиля и тд. Поскольку пользователь его купил, и хочется полной поддержки устройства, но производитель только в страшном сне слышал о Linux. Поэтому рассмотрим пару примеров для реализации ЖК-дисплея, под управлением вашего дистрибутива. Вариантов не много, и лучше написать самому :-) Главное, не мусорить систему AURами, Flatpackами, и прочими извращениями.

Есть хороший код для основы:

https://github.com/nirenjan/x52pro-linux

В этом проекте добавлен новый драйвер для системы управления полетом Saitek/MadCatz X52 Pro. Ранее был скомпилирован на Debian системе, и проверен.

Есть вполне хорошая библиотека. libx52 - это библиотека с открытым исходным кодом, позволяющая взаимодействовать с джойстиком Saitek X52 или Saitek X52Pro на машинах с ОС Linux и Unix. Saitek предоставляет только драйверы Windows для своих джойстиков, в связи с чем для данного контроллера, пользователям необходимо иметь возможность управлять светодиодами и MFD текстом на Linux или Unix устройствах.

https://nirenjan.github.io/x52pro-linux/

ibx52 поддерживает установку следующих параметров на джойстике:

  • Текст на многофункциональном дисплее (MFD).
  • Все 3 таймера времени на MFD.
  • Отображение даты на MFD.
  • Мигание светодиодов на "шляпе" POV (как мигающих, так и не мигающих).
  • Индикатор переключения на MFD.
  • Настройка цвета отдельных светодиодов (только на X52 Pro).

Конечно полностью собрать и протестировать библиотеку, для многих окажется сложностью. Тем более, если вы любитель нормальной работы в консоле, MFD и даром не нужен. Для этого есть простой вариант, где уже используется ibx52, и программа имеет GUI интерфейс:

https://gitlab.com/leinardi/gx52

GX52 - это приложение GTK, предназначенное для управления светодиодами и MFD Logitech X52 и X52 Pro H.O.T.A.S.

  • Установка цвета светодиодов (только для X52 Pro).
  • Включение/выключение отдельных светодиодов (только для X52 Pro).
  • Установка светодиодов, яркость.
  • Установка яркости MFD.
  • Обновление MFD, дата и время.
  • Показать на MFD, какая кнопка в данный момент нажата.
  • Сохранение и восстановление нескольких профилей.

Рекомендуется собрать самому, руками:

# git clone --recurse-submodules -j4 https://gitlab.com/leinardi/gx52.git

# cd gx52

# git checkout release

# meson . build --prefix /usr

# ninja -v -C build

# sudo ninja -v -C build install

Обновление кода программы:

# cd gx52

# git fetch

# git checkout release

# git reset --hard origin/release

# git submodule init

# git submodule update

# sudo -H pip3 install -r requirements.txt

# meson . build --prefix /usr

# ninja -v -C build

# sudo ninja -v -C build install

Запуск и тестирование:

# gx52

В большинстве случаев, программа не получит доступ к устройству. Необходимо установить правило Udev для устройства:

# gx52 --add-udev-rule

Или, создайте новый файл в файле /lib/udev/rules.d/60-gx52.rules, содержащем этот текст:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="06a3", ATTRS{idProduct}=="0762", MODE="0666"

SUBSYSTEMS=="usb", ATTRS{idVendor}=="06a3", ATTRS{idProduct}=="0255", MODE="0666"

SUBSYSTEMS=="usb", ATTRS{idVendor}=="06a3", ATTRS{idProduct}=="075c", MODE="0666"

После этого выполните следующие команды:

# sudo udevadm control --reload-rules

# sudo udevadm trigger --subsystem-match=usb --attr-match=idVendor=06a3 --action=add


ЖК-дисплей с регулируемой яркостью позволяет быстро просматривать команды, назначенные кнопкам.