Saitek X52/X52pro userspace driver for Unix/Linux
 
 
 
 
 
Go to file
nirenjan d9caba9ff3 ci: Add codecov.yml to configure Codecov.io
This change splits up the source code and test code into different blobs
so that the code coverage only considers the source code portion and not
the test suites.
2026-11-04 22:27:30 -08:00
.github Merge pull request #86 from nirenjan/dependabot/github_actions/docker/login-action-4.7.0 2026-10-26 10:58:33 -07:00
bugreport
…
cli
…
daemon test: Enable daemon-communication tests on non-Linux platforms 2026-10-22 13:00:09 -07:00
data/layouts
…
docker
…
docs
…
evtest feat: Add libx52io function to compare two reports 2026-10-21 13:36:43 -07:00
include feat: Add libx52io_reset_report function 2026-11-04 22:09:47 -08:00
joytest refactor(x52test): Make argv const 2026-10-21 15:30:45 -07:00
kernel_module
…
libusbx52
…
libx52
…
libx52io feat: Add libx52io_reset_report function 2026-11-04 22:09:47 -08:00
libx52util
…
m4
…
po
…
python
…
subprojects/pinelog Revert "feat: Add localipc library for IPC over AF_UNIX" 2026-04-27 18:29:12 -07:00
sys
…
tools fix: Rework layout compiler to avoid backtracking 2026-10-14 08:52:43 -07:00
udev
…
vkm
…
.gitattributes
…
.gitignore
…
AUTHORS
…
CONTRIBUTING.md
…
ChangeLog.md
…
Doxyfile.in
…
DoxygenLayout.xml
…
INSTALL.md
…
LICENSE
…
PRIVACY.md
…
README.md
…
SECURITY.md
…
Version
…
codecov.yml ci: Add codecov.yml to configure Codecov.io 2026-11-04 22:27:30 -08:00
install-doxygen-docs.sh
…
meson.build Revert "feat: Add localipc library for IPC over AF_UNIX" 2026-04-27 18:29:12 -07:00
meson_options.txt Revert "feat: Add localipc library for IPC over AF_UNIX" 2026-04-27 18:29:12 -07:00
version-info
…

README.md

Saitek X52Pro joystick driver for Linux

Build/Test Kernel Module CodeQL Quality Gate Status codecov

This project adds a new driver for the Saitek/MadCatz X52 Pro flight control system. The X52 pro is a HOTAS (hand on throttle and stick) with 7 axes, 39 buttons, 1 hat and 1 thumbstick and a multi-function display which is programmable.

Currently, only Windows drivers are available from Saitek PLC, which led me to develop a new Linux driver which can program the MFD and the individual LEDs on the joystick. The standard usbhid driver is capable of reading the joystick, but it cannot control the MFD or LEDs.

Most of the extra functionality can be handled from userspace. See the individual folders for README information.

For data handling and privacy (e.g. GDPR/CCPA), see PRIVACY.md.

Note: This repository currently only provides commandline interfaces to control the MFD and LEDs. If you are not comfortable working in the commandline, then the gx52 project might be a better fit for your needs as it provides a graphical interface to control the MFD and LEDs.

Installing released versions

Beginning from version v0.2.3, prebuilt packages are available on Ubuntu PPA and the Arch User Repository.

Ubuntu

This project has been released as a PPA on Ubuntu. To install the package, run the following commands in the terminal.

sudo apt-add-repository ppa:nirenjan/libx52
sudo apt update
sudo apt install libx52-1

Arch Linux

This is available on the AUR

Building and installing from source

See INSTALL.md