libx52/x52d.html

220 lines
12 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libx52: X52 driver daemon</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">libx52
&#160;<span id="projectnumber">0.3.2</span>
</div>
<div id="projectbrief">Saitek X52/X52Pro drivers for Linux/Unix</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="PageDoc"><div class="header">
<div class="headertitle">
<div class="title">X52 driver daemon </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><b>x52d</b> is a daemon program that manages the X52 device in a similar fashion to the Windows X52 driver. It currently manages the following:</p>
<ul>
<li>LED state</li>
<li>LED brightness</li>
<li>MFD brightness</li>
<li>Clock display on MFD</li>
</ul>
<h1><a class="anchor" id="autotoc_md10"></a>
Command line arguments</h1>
<ul>
<li><code>-f</code> - Run daemon in foreground (default: no)</li>
<li><code>-v</code> - Increase logging verbosity (default: log warnings)</li>
<li><code>-q</code> - Reduce logging verbosity to minimum (default: no)</li>
<li><code>-l</code> - Path to log file</li>
<li><code>-c</code> - Path to configuration file</li>
<li><code>-p</code> - Path to PID file</li>
<li><code>-o</code> - Configuration override - only applied during startup</li>
<li><code>-s</code> - Path to command socket (see <a class="el" href="x52d_protocol.html">X52 daemon socket communication protocol</a>)</li>
<li><code>-b</code> - Path to notify socket</li>
</ul>
<h1><a class="anchor" id="autotoc_md11"></a>
Configuration file</h1>
<p><b>x52d</b> can be controlled by means of a configuration file. The default location of the configuration file is in <code>/etc/x52d/x52d.conf</code>. The configuration file is an INI style file, and the default configuration is as listed below:</p>
<div class="fragment"><div class="line">#######################################################################</div>
<div class="line"># X52 Daemon Configuration</div>
<div class="line">######################################################################</div>
<div class="line"> </div>
<div class="line"># The settings below are the defaults. Note that the section and key</div>
<div class="line"># strings are case insensitive, but the values are not necessarily so,</div>
<div class="line"># especially for those referring to paths or timezone names.</div>
<div class="line"> </div>
<div class="line">######################################################################</div>
<div class="line"># Clock Settings</div>
<div class="line">######################################################################</div>
<div class="line">[Clock]</div>
<div class="line"> </div>
<div class="line"># Enabled controls whether the clock is enabled or not. Set this to no to</div>
<div class="line"># disable the clock update. Keep in mind that if the clock was originally</div>
<div class="line"># enabled on the X52, then disabling it here won&#39;t make the clock disappear on</div>
<div class="line"># the MFD. You will need to unplug and reattach the X52 to make the clock</div>
<div class="line"># disappear</div>
<div class="line">Enabled=yes</div>
<div class="line"> </div>
<div class="line"># PrimaryIsLocal controls whether the primary clock displays local time or UTC.</div>
<div class="line"># Set this to yes to display local time, no for UTC.</div>
<div class="line">PrimaryIsLocal=yes</div>
<div class="line"> </div>
<div class="line"># Secondary controls the timezone of the secondary clock. Use the standard</div>
<div class="line"># timezone name as defined by the Olson time database.</div>
<div class="line">Secondary=UTC</div>
<div class="line"> </div>
<div class="line"># Tertiary controls the timezone of the tertiary clock. Use the standard</div>
<div class="line"># timezone name as defined by the Olson time database.</div>
<div class="line">Tertiary=UTC</div>
<div class="line"> </div>
<div class="line"># PrimaryFormat controls the clock format of the primary clock. This is</div>
<div class="line"># either 12hr or 24hr, and can be abbreviated to 12 or 24</div>
<div class="line">FormatPrimary=12hr</div>
<div class="line"> </div>
<div class="line"># SecondaryFormat controls the clock format of the secondary clock. This is</div>
<div class="line"># either 12hr or 24hr, and can be abbreviated to 12 or 24</div>
<div class="line">FormatSecondary=12hr</div>
<div class="line"> </div>
<div class="line"># TertiaryFormat controls the clock format of the tertiary clock. This is</div>
<div class="line"># either 12hr or 24hr, and can be abbreviated to 12 or 24</div>
<div class="line">FormatTertiary=12hr</div>
<div class="line"> </div>
<div class="line"># DateFormat controls the format of the date display. This can be one of</div>
<div class="line"># ddmmyy, mmddyy or yymmdd. Alternate representations of these are</div>
<div class="line"># dd-mm-yy, mm-dd-yy or yy-mm-dd respectively.</div>
<div class="line">DateFormat=ddmmyy</div>
<div class="line"> </div>
<div class="line">######################################################################</div>
<div class="line"># LED Settings - only applicable to X52Pro</div>
<div class="line">######################################################################</div>
<div class="line">[LED]</div>
<div class="line"> </div>
<div class="line"># The LED settings map a color code or state to the corresponding LED.</div>
<div class="line">Fire=on</div>
<div class="line">Throttle=on</div>
<div class="line">A=green</div>
<div class="line">B=green</div>
<div class="line">D=green</div>
<div class="line">E=green</div>
<div class="line">T1=green</div>
<div class="line">T2=green</div>
<div class="line">T3=green</div>
<div class="line">POV=green</div>
<div class="line">Clutch=green</div>
<div class="line"> </div>
<div class="line">######################################################################</div>
<div class="line"># Brightness Settings</div>
<div class="line">######################################################################</div>
<div class="line">[Brightness]</div>
<div class="line"> </div>
<div class="line"># The brightness settings map the brightness value to the LEDs/MFD.</div>
<div class="line">MFD=128</div>
<div class="line">LED=128</div>
<div class="line"> </div>
<div class="line">######################################################################</div>
<div class="line"># Mouse - only valid on Linux</div>
<div class="line">######################################################################</div>
<div class="line">[Mouse]</div>
<div class="line"> </div>
<div class="line"># Enabled controls whether the virtual mouse is enabled or not.</div>
<div class="line">Enabled=yes</div>
<div class="line"> </div>
<div class="line"># Speed is proportional to the speed of updates to the virtual mouse</div>
<div class="line">Speed=0</div>
<div class="line"> </div>
<div class="line"># ReverseScroll reverses the direction of the virtual scroll wheel</div>
<div class="line">ReverseScroll=no</div>
<div class="line"> </div>
<div class="line">######################################################################</div>
<div class="line"># Profiles - only valid on Linux</div>
<div class="line">######################################################################</div>
<div class="line">[Profiles]</div>
<div class="line"># TODO: Profiles are used to map the buttons and axis to keyboard events, and</div>
<div class="line"># can be used to write macros. This is a placeholder only for now, and is not</div>
<div class="line"># supported yet.</div>
<div class="line"> </div>
<div class="line"># Directory is the location of the folder containing the individual profiles.</div>
<div class="line">Directory=/etc/x52d/profiles.d</div>
<div class="line"> </div>
<div class="line"># ClutchEnabled determines if the clutch button is treated specially</div>
<div class="line">ClutchEnabled=no</div>
<div class="line"> </div>
<div class="line"># ClutchLatched controls if the clutch button (if enabled) is a latched button</div>
<div class="line"># (press once to enter clutch mode, press again to exit clutch mode), or must</div>
<div class="line"># be held down to remain in clutch mode.</div>
<div class="line">ClutchLatched=no</div>
<div class="line"> </div>
<div class="line">##################</div>
<div class="line">#X52 Input Servic#</div>
<div class="line">#Version 0.2.2 #</div>
<div class="line">#OS: Linux #</div>
<div class="line">##################</div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md12"></a>
Configuration overrides</h2>
<p>Configuration overrides are a means of testing a configuration parameter for a single instance of <b>x52d</b>, or to override the default configuration. The syntax for an override is <code>section.key=value</code>, where <code>section</code>, <code>key</code> and <code>value</code> correspond to the configuration <b>section</b>, <b>key</b> and <b>value</b> respectively.</p>
<p>For example, to override the secondary clock timezone to US Eastern Time, use the following syntax. Note that while the section and key are case-insensitive, the value may be case-sensitive, depending on which parameter is being overridden.</p>
<div class="fragment"><div class="line">-o clock.secondary=America/New_York</div>
</div><!-- fragment --> </div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>