Saitek X52/X52pro userspace driver for Unix/Linux
 
 
 
 
 
Go to file
nirenjan a7caba19df Set debug output to be line buffered
The stub libusb library used for testing writes the control request to a
dump file. By default, this file is block-buffered, and on a typical
Linux system, it waits until it receives about a page worth of data
before flushing it to disk. This results in a delay in monitoring
packets when running a debug program.

This change makes the file line-buffered instead, which results in the
debug output for every single packet getting flushed to disk without
having to wait for a full page of data.
2020-04-12 16:29:22 -07:00
docs Add implementation of stub libusb library 2017-07-27 16:43:01 -07:00
kernel_module Add SPDX license identifiers in all files 2018-04-18 12:19:29 -07:00
lib Set debug output to be line buffered 2020-04-12 16:29:22 -07:00
man Add Man pages in RONN format 2015-12-14 18:04:26 -08: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 for making hidraw permissions 0644 2012-10-08 19:37:49 -07:00
utils Make x52test use X macros 2018-07-17 17:21:21 -07:00
.gitignore Add test-driver to .gitignore 2017-08-01 22:05:03 -07:00
.travis.yml travis-ci: Enable parallel make 2017-08-18 07:32: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 API change for libx52 2017-08-23 19:30:35 -07:00
LICENSE Move license text to LICENSE file 2018-04-18 12:16:48 -07:00
Makefile.am Add SPDX license identifiers in all files 2018-04-18 12:19:29 -07:00
README.md Update build requirements in README 2017-10-12 21:35:58 -07:00
autogen.sh Create the m4 directory to fix the autogen failure 2015-12-10 10:22:59 -08:00
configure.ac Add SPDX license identifiers in all files 2018-04-18 12:19:29 -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 has been tested on the following platforms:

  • Ubuntu 12.04 LTS on amd64
  • Ubuntu 14.04 LTS on amd64
  • Ubuntu 16.04 LTS on amd64
  • OS X 10.11.6 El Capitan

Prerequisites

You will need the following packages:

  • automake
  • autoconf
  • 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

  1. Clone the repository
  2. Run autogen.sh
  3. Run configure; make and sudo make install.