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. |
||
---|---|---|
.github | ||
docs | ||
kernel_module | ||
lib | ||
m4 | ||
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
If you want to generate HTML documentation for the library, and manpages for the utilities, you will need the following packages:
- doxygen
- rsync
Installation
- Clone the repository
- Run autogen.sh
- Run the following commands:
./configure \
--prefix=/usr \
--with-udevrulesdir=$(pkg-config --variable=udevdir)/rules.d
make && sudo make install