Saitek X52/X52pro userspace driver for Unix/Linux
 
 
 
 
 
Go to file
Nirenjan Krishnan 827c13bf85 Merge branch 'experimental'
This brings in changes to make the kernel module act like an input
device. However, this version does have one flaw, in that the axes
input for all the centered axes does not work. This is most likely
due to a bug in the invocation of input_set_abs_params. Only the
throttle and slider axes work, as does the hat. The other (minor)
issue is that the hat values show up as -32767 and +32767 instead
of -1 and +1 like the usbhid driver.
2012-10-11 21:10:26 -07:00
driver Fix bug where input is not getting reported 2012-10-11 20:58:59 -07:00
info Fix report format 2012-10-04 23:51:26 -07:00
tools Update with HID raw output format 2012-10-03 01:02:21 -07: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.