Prior to this change, if the clock thread is disabled, then disconnecting and reconnecting the X52 device would cause the daemon to not detect the transition. As a result, the daemon would stay in a state where it thinks the device is still connected, and therefore, not actually apply any of the saved configuration, until it received a SIGHUP to refresh the configuration. This change adds a routine that sends a dummy vendor command. This vendor command does nothing on my X52 Pro (VID 06a3, PID 0762), but serves as a check to see if the daemon can send vendor commands to the device. If the device is indeed disconnected, then that is a sufficient indicator to disable the update thread and re-enable the acquisition thread. |
||
---|---|---|
.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