Prior to this change, libx52_init needed a supported joystick to be plugged in, otherwise it would fail with LIBX52_ERROR_NO_DEVICE. This change modifies the behavior so that libx52_init would still succeed, but the application should call libx52_connect to make sure that the device handle is valid. libx52_init still tries to connect to the joystick, but absence is no longer treated as a failure. This change also modifies x52cli to check that the joystick is actually connected before calling the individual handlers. Because libx52_init no longer fails if the joystick is absent, we need to rely on the return code from libx52_connect. |
||
---|---|---|
docs | ||
kernel_module | ||
lib | ||
m4 | ||
man | ||
po | ||
tests | ||
tools | ||
udev | ||
utils | ||
.gitignore | ||
.travis.yml | ||
.travis_build.sh | ||
AUTHORS | ||
ChangeLog.md | ||
Doxyfile.in | ||
LICENSE | ||
Makefile.am | ||
README.md | ||
autogen.sh | ||
configure.ac | ||
gettext.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.
Building
Build has been tested on the following operating systems (x86-64 only):
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- OS X 10.13.6
Prerequisites
You will need the following packages:
- automake
- autoconf
- autopoint
- gettext
- libtool
- libusb-1.0-0-dev (Package name may vary across distributions)
- pkg-config
- python (2.6 or greater)
If you are on OSX, you can install the above packages using Homebrew
Installation
- Clone the repository
- Run autogen.sh
- Run configure; make and sudo make install.