libx52/index.html

89 lines
3.9 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<title>X52Pro-Linux by nirenjan</title>
<link rel="stylesheet" href="stylesheets/styles.css">
<link rel="stylesheet" href="stylesheets/pygment_trac.css">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<div class="wrapper">
<header>
<h1>X52Pro-Linux</h1>
<p>Saitek X52Pro drivers &amp; controller mapping software for Linux</p>
<p class="view"><a href="https://github.com/nirenjan/x52pro-linux">View the Project on GitHub <small>nirenjan/x52pro-linux</small></a></p>
<ul>
<li><a href="https://github.com/nirenjan/x52pro-linux/zipball/master">Download <strong>ZIP File</strong></a></li>
<li><a href="https://github.com/nirenjan/x52pro-linux/tarball/master">Download <strong>TAR Ball</strong></a></li>
<li><a href="https://github.com/nirenjan/x52pro-linux">View On <strong>GitHub</strong></a></li>
</ul>
</header>
<section>
<h1>
<a name="saitek-x52pro-joystick-driver-for-linux" class="anchor" href="#saitek-x52pro-joystick-driver-for-linux"><span class="octicon octicon-link"></span></a>Saitek X52Pro joystick driver for Linux</h1>
<h2>
<a name="overview" class="anchor" href="#overview"><span class="octicon octicon-link"></span></a>Overview</h2>
<p>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.</p>
<p>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 quite capable of reading the joystick, it is not sufficient to
really utilize all the capabilities of this system.</p>
<h2>
<a name="status" class="anchor" href="#status"><span class="octicon octicon-link"></span></a>Status</h2>
<p>This page documents the objectives of the project and the status. This project is currently a work-in-progress.</p>
<h3>
<a name="kernel-module" class="anchor" href="#kernel-module"><span class="octicon octicon-link"></span></a>Kernel Module</h3>
<p>Currently, a kernel module exists which supports reading from the joystick and reporting to the input subsystem. The kernel module also supports setting the following:</p>
<ul>
<li>MFD brightness</li>
<li>LED brightness</li>
<li>LED state for all 20 LEDs</li>
<li>MFD text for all 3 lines</li>
</ul><p>Pending are the following:</p>
<ul>
<li>Clock (Date/Time) on the MFD</li>
<li>LED blinking mode</li>
<li>Shift indicator on the MFD</li>
</ul><h3>
<a name="userspace-daemon" class="anchor" href="#userspace-daemon"><span class="octicon octicon-link"></span></a>Userspace Daemon</h3>
<p>In progress is a userspace daemon which hooks to the hidraw interface of the standard usbhid driver and interprets the hidraw data. Objectives for this daemon are:</p>
<ul>
<li>Create a uinput driver which will send keyboard and mouse events to the input subsystem.</li>
<li>Create an output driver which will update the LEDs and MFD on the joystick.</li>
<li>Create an API which will allow plugins to communicate with the daemon and update the joystick.</li>
<li>Create an API which will allow customizing the keyboard and mouse event mapping.</li>
</ul>
</section>
<footer>
<p>This project is maintained by <a href="https://github.com/nirenjan">nirenjan</a></p>
<p><small>Hosted on GitHub Pages &mdash; Theme by <a href="https://github.com/orderedlist">orderedlist</a></small></p>
</footer>
</div>
<script src="javascripts/scale.fix.js"></script>
</body>
</html>