A missing comma at the end of the STRINGIFY line was causing builds with clang to have segfaults with the default configuration. It turned out that due to the missing comma, the N_("Unknown LED state %d") and N_("off") parameters were getting merged into a single parameter by clang, but interestingly, not by GCC. As a result, when building with clang, the array is "on", "red", "amber", "green" - note the missing "off" at the beginning of the array. This causes clang generated builds to segfault when attemping to log a trace message when configuring LED A (which defaults to green, and the index of LIBX52_LED_STATE_GREEN exceeds the array bounds). |
||
---|---|---|
.github | ||
cli | ||
daemon | ||
docs | ||
evtest | ||
joytest | ||
kernel_module | ||
lib | ||
libusbx52 | ||
libx52 | ||
libx52io | ||
libx52util | ||
m4 | ||
po | ||
udev | ||
.gitignore | ||
AUTHORS | ||
CONTRIBUTING.md | ||
ChangeLog.md | ||
Doxyfile.in | ||
DoxygenLayout.xml | ||
INSTALL.md | ||
LICENSE | ||
Makefile.am | ||
README.md | ||
autogen.sh | ||
configure.ac | ||
gettext.h | ||
usb-ids.h |
README.md
Saitek X52Pro joystick driver for Linux
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.
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.
Building and installing
See INSTALL.md