Prior to this commit, the libx52_is_connected API was simply checking if the device handle was non-NULL. However, this was insufficient, since the device disconnection would not reset the handle, and was relying on the daemon to manually disconnect. The libusb hotplug API provides functionality to register a callback on device insertion/removal. libx52 only registers for removal, and will automatically disconnect the device on receiving the callback. This also modifies libx52_is_connected to fallback to checking if the kernel driver is active if the linked libusb does not support hotplug (unlikely). Finally, this commit adds support for the new hotplug related functions to the libusbx52 preload library. While the preload library doesn't actually support hotplug, it is sufficient to pretend that it does. |
||
---|---|---|
.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