Saitek X52/X52pro userspace driver for Unix/Linux
 
 
 
 
 
Go to file
nirenjan b6ebdef7ef Handle time out of range in libx52_set_clock
Prior to this change, the assumption was that localtime/gmtime would
never fail, regardless of the time value provided to it. However,
testing on an Ubuntu 20.04 machine revealed that the representable
range of time_t was about 56 bits, values that exceed a 56 bit
representation would cause localtime/gmtime to return a NULL pointer.

This change replaces the use of localtime/gmtime with their
corresponding thread-safe variants, and checks the return value against
NULL. If it matches a NULL value, then it will return an error and not
update the clocks.
2020-06-04 15:34:03 -07:00
.github Add contribution guidelines 2020-06-02 17:20:03 -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 Handle time out of range in libx52_set_clock 2020-06-04 15:34:03 -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 Add test suite for timezone tests 2020-06-02 14:48:46 -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 Add faketime to Travis packages list 2020-06-02 15:03:26 -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
CONTRIBUTING.md Add contribution guidelines 2020-06-02 17:20:03 -07:00
ChangeLog.md Handle time out of range in libx52_set_clock 2020-06-04 15:34:03 -07:00
Doxyfile.in Move x52cli documentation into Doxygen 2020-05-28 15:31:08 -07:00
INSTALL.md Create INSTALL.md 2020-06-02 16:36:01 -07:00
LICENSE Move license text to LICENSE file 2018-04-18 12:16:48 -07:00
Makefile.am Add contribution guidelines 2020-06-02 17:20:03 -07:00
README.md Create INSTALL.md 2020-06-02 16:36:01 -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

Build Status

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 and installing

See INSTALL.md