Saitek X52/X52pro userspace driver for Unix/Linux
 
 
 
 
 
Go to file
nirenjan f8a7257b54 Export vendor command interface
The vendor command interface allows the user to write a vendor request
packet using the known vendor interface. However, it is not intended for
regular use, since the existing API is better suited to abstract it away
from the user. Rather, the prime goal is for a test harness interface
that can be used to debug problems seen during regular library accesses.
2015-12-04 18:27:21 -08:00
docs Move spec documents under docs folder 2015-12-02 08:29:45 -08:00
kernel_module Add README for kernel module 2015-12-01 08:29:12 -08:00
libx52 Export vendor command interface 2015-12-04 18:27:21 -08: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
.gitignore Move USB control messages to their own file 2012-10-05 23:21:56 -07:00
COPYING Add README and GPL license file 2012-09-30 15:38:46 -07:00
README.md Add README and GPL license file 2012-09-30 15:38:46 -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. Although the standard usbhid driver is capable of reading the joystick, it is not sufficient to really utilize all the capabilities of this system.

This project is currently a work-in-progress. However a high level outline of the current objectives are listed below:

  • Write a kernel module and export sysfs interfaces to act as a driver.
  • Write a userspace program that can configure the kernel module and create custom button mappings to keyboard or mouse events.
  • Add interrupt handling and export a /dev/input/jsX interface.
  • Allow userspace programs to register callbacks on MFD button events.