Saitek X52/X52pro userspace driver for Unix/Linux
 
 
 
 
 
Go to file
nirenjan 7ae5cad0cc Clear warning when linking x52test_log_actions
Prior to this change, we were linking the log_actions program against
the stub library, since we needed to use the logging capabilities in the
stub library to save the expected values to a file for the test harness
to use. However, doing so gives us the following warning:

*** Warning: Linking the executable x52test_log_actions against the loadable module
*** libusbx52.so is not portable!

Since we don't really need to have dynamic linking in this case, simply
including the stub library source into the log_actions program sources
list is sufficient, and bypasses this warning.
2020-06-02 07:50:51 -07:00
.github Add Stale bot integration 2020-05-25 23:39:10 -07:00
docs Revert hotplug support in libx52 2020-05-22 00:42:01 -07:00
kernel_module Add SPDX license identifiers in all files 2018-04-18 12:19:29 -07:00
lib Clear warning when linking x52test_log_actions 2020-06-02 07:50:51 -07:00
m4 Generate pkg-config file for libx52 2020-04-16 22:10:48 -07:00
po x52test: Check device type during reset 2020-06-01 00:10:01 -07:00
tests Remove debugs from MFD test script 2020-03-31 23:22:04 -07:00
tools Retrieve hidraw file from command line 2015-11-28 10:06:38 -08:00
udev Add udev rules to distribution 2020-05-30 16:38:58 -07:00
utils x52test: Check device type during reset 2020-06-01 00:10:01 -07:00
.gitignore Update gitignore list with additional generated files [skip ci] 2020-05-26 16:33:58 -07:00
.travis.yml Speed up OSX Travis builds 2020-05-20 01:57:50 -07:00
.travis_build.sh Remove redundant make check from Travis build 2017-08-11 18:19:29 -07:00
AUTHORS Add license clarification and authors file 2016-12-27 13:13:37 -08:00
ChangeLog.md Add install rule for Doxygen generated docs 2020-05-26 16:16:54 -07:00
Doxyfile.in Move x52cli documentation into Doxygen 2020-05-28 15:31:08 -07:00
LICENSE Move license text to LICENSE file 2018-04-18 12:16:48 -07:00
Makefile.am Add udev rules to distribution 2020-05-30 16:38:58 -07:00
README.md Update installation instructions in README 2020-05-30 16:38:27 -07:00
autogen.sh Move pthread build logic to configure.ac 2020-04-15 17:31:46 -07:00
configure.ac Add udev rules to distribution 2020-05-30 16:38:58 -07:00
gettext.h Add gettext support to libx52 2020-05-19 08:07:10 -07:00

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 Status

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

If you want to generate HTML documentation for the library, and manpages for the utilities, you will need the following packages:

  • doxygen
  • rsync

Installation

  1. Clone the repository
  2. Run autogen.sh
  3. Run the following commands:
./configure \
    --prefix=/usr \
    --with-udevrulesdir=$(pkg-config --variable=udevdir)/rules.d
make && sudo make install