1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3  <head>
4    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
5    <title>File Index</title>
6    <link href="doxygen.css" rel="stylesheet" type="text/css">
7  </head>
8  <body>
9<!-- Generated by Doxygen 1.7.4 -->
10  <div id="navrow1" class="tabs">
11    <ul class="tablist">
12      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
13      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
14      <li class="current"><a href="files.html"><span>Files</span></a></li>
15    </ul>
16  </div>
17  <div id="navrow2" class="tabs2">
18    <ul class="tablist">
19      <li><a href="files.html"><span>File&#160;List</span></a></li>
20      <li><a href="globals.html"><span>Globals</span></a></li>
21    </ul>
22  </div>
23</div>
24<div id="side-nav" class="ui-resizable side-nav-resizable">
25  <div id="nav-tree">
26    <div id="nav-tree-contents">
27    </div>
28  </div>
29  <div id="splitbar" style="-moz-user-select:none;" 
30       class="ui-resizable-handle">
31  </div>
32</div>
33<script type="text/javascript">
34  initNavTree('lnx-keyboard_8h.html','');
35</script>
36<div id="doc-content">
37<div class="header">
38  <div class="summary">
39<a href="#func-members">Functions</a>  </div>
40  <div class="headertitle">
41<div class="title">lnx-keyboard.h File Reference</div>  </div>
42</div>
43<div class="contents">
44
45<p><a href="lnx-keyboard_8h_source.html">Go to the source code of this file.</a></p>
46<table class="memberdecls">
47<tr><td colspan="2"><h2><a name="func-members"></a>
48Functions</h2></td></tr>
49<tr><td class="memItemLeft" align="right" valign="top">pointer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8h.html#aaeba8e3220761201a64b5da3e2f85e52">kbdLinuxCreatePrivate</a> (DeviceIntPtr pKeyboard)</td></tr>
50<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8h.html#a71f565aa8f6824d52f817dc4a5e504f7">kbdLinuxDestroyPrivate</a> (pointer private)</td></tr>
51<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8h.html#a24c8cbb95ad1f21d590f57cdb22c25f4">kbdLinuxInit</a> (DevicePtr pDev)</td></tr>
52<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8h.html#ae65b4fd1c456532a438479b35228d4cf">kbdLinuxGetInfo</a> (DevicePtr pDev, <a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> info)</td></tr>
53<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8h.html#a541096c9032b400b6f7f8cc76c36f716">kbdLinuxOn</a> (DevicePtr pDev)</td></tr>
54<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8h.html#a2f0498bfb85d9301b7bab802844b047d">kbdLinuxOff</a> (DevicePtr pDev)</td></tr>
55<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8h.html#a50fd258e64aa03fd197af2a1a8306b32">kbdLinuxVTPreSwitch</a> (pointer p)</td></tr>
56<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8h.html#a8c0e2439e4991b78f99c79e90f5e474d">kbdLinuxVTPostSwitch</a> (pointer p)</td></tr>
57<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8h.html#a11eda88b5082b0adaad1bbc723dae485">kbdLinuxVTSwitch</a> (pointer p, int vt, <a class="el" href="dmxinputinit_8h.html#adb9019a46004e627338bfb4a02800636">dmxVTSwitchReturnProcPtr</a> switch_return, pointer switch_return_data)</td></tr>
58<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8h.html#a5c9ea7d8bd36c991d67988615ac57328">kbdLinuxRead</a> (DevicePtr pDev, <a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a> motion, <a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a> enqueue, <a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a> checkspecial, <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a> block)</td></tr>
59<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8h.html#a278d93f44fccf1e642fa58c05bb2d06a">kbdLinuxCtrl</a> (DevicePtr pDev, KeybdCtrl *ctrl)</td></tr>
60<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-keyboard_8h.html#a0acb8c77b4bd032bda9aeb87a656b9e7">kbdLinuxBell</a> (DevicePtr pDev, int percent, int volume, int pitch, int duration)</td></tr>
61</table>
62<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
63<div class="textblock"><p>Interface to Linux keyboard driver. </p>
64<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="lnx-keyboard_8c.html">lnx-keyboard.c</a> </dd></dl>
65</div><hr/><h2>Function Documentation</h2>
66<a class="anchor" id="a0acb8c77b4bd032bda9aeb87a656b9e7"></a><!-- doxytag: member="lnx&#45;keyboard.h::kbdLinuxBell" ref="a0acb8c77b4bd032bda9aeb87a656b9e7" args="(DevicePtr pDev, int percent, int volume, int pitch, int duration)" -->
67<div class="memitem">
68<div class="memproto">
69      <table class="memname">
70        <tr>
71          <td class="memname">void kbdLinuxBell </td>
72          <td>(</td>
73          <td class="paramtype">DevicePtr&#160;</td>
74          <td class="paramname"><em>pDev</em>, </td>
75        </tr>
76        <tr>
77          <td class="paramkey"></td>
78          <td></td>
79          <td class="paramtype">int&#160;</td>
80          <td class="paramname"><em>percent</em>, </td>
81        </tr>
82        <tr>
83          <td class="paramkey"></td>
84          <td></td>
85          <td class="paramtype">int&#160;</td>
86          <td class="paramname"><em>volume</em>, </td>
87        </tr>
88        <tr>
89          <td class="paramkey"></td>
90          <td></td>
91          <td class="paramtype">int&#160;</td>
92          <td class="paramname"><em>pitch</em>, </td>
93        </tr>
94        <tr>
95          <td class="paramkey"></td>
96          <td></td>
97          <td class="paramtype">int&#160;</td>
98          <td class="paramname"><em>duration</em>&#160;</td>
99        </tr>
100        <tr>
101          <td></td>
102          <td>)</td>
103          <td></td><td></td>
104        </tr>
105      </table>
106</div>
107<div class="memdoc">
108<p>Ring the bell.</p>
109<p>Note: we completely ignore the <em>volume</em>, since Linux's ioctl() interface does not provide a way to control it. If it did, the XBell manpage tells how the actual volume is a function of the percent and the (base) volume.</p>
110<p>Note that most of the other PC-based bell drivers compute the duration for KDMKTONE as a function of the volume and the duration. For some drivers, the duration is only measured in mS if the volume is 50, and is scaled by the volume for other values. This seems confusing and possibly incorrect (the xset man page says that the bell will be "as closely as it can to the user's specifications" -- if we ignore the volume and set the duration correctly, then we'll get one parameter "wrong" -- but if we use the volume to scale the duration, then we'll get both parameters "wrong"). </p>
111
112<p>References <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>.</p>
113
114</div>
115</div>
116<a class="anchor" id="aaeba8e3220761201a64b5da3e2f85e52"></a><!-- doxytag: member="lnx&#45;keyboard.h::kbdLinuxCreatePrivate" ref="aaeba8e3220761201a64b5da3e2f85e52" args="(DeviceIntPtr pKeyboard)" -->
117<div class="memitem">
118<div class="memproto">
119      <table class="memname">
120        <tr>
121          <td class="memname">pointer kbdLinuxCreatePrivate </td>
122          <td>(</td>
123          <td class="paramtype">DeviceIntPtr&#160;</td>
124          <td class="paramname"><em>pKeyboard</em></td><td>)</td>
125          <td></td>
126        </tr>
127      </table>
128</div>
129<div class="memdoc">
130<p>Create a private structure for use within this file. </p>
131
132<p>References <a class="el" href="struct__myPrivate.html#a6b26eb0acc0b932c8dee8277501e6273">_myPrivate::fd</a>, and <a class="el" href="struct__myPrivate.html#a1f72c73bb97bf77b8f5359eabf81fb79">_myPrivate::pKeyboard</a>.</p>
133
134</div>
135</div>
136<a class="anchor" id="a278d93f44fccf1e642fa58c05bb2d06a"></a><!-- doxytag: member="lnx&#45;keyboard.h::kbdLinuxCtrl" ref="a278d93f44fccf1e642fa58c05bb2d06a" args="(DevicePtr pDev, KeybdCtrl *ctrl)" -->
137<div class="memitem">
138<div class="memproto">
139      <table class="memname">
140        <tr>
141          <td class="memname">void kbdLinuxCtrl </td>
142          <td>(</td>
143          <td class="paramtype">DevicePtr&#160;</td>
144          <td class="paramname"><em>pDev</em>, </td>
145        </tr>
146        <tr>
147          <td class="paramkey"></td>
148          <td></td>
149          <td class="paramtype">KeybdCtrl *&#160;</td>
150          <td class="paramname"><em>ctrl</em>&#160;</td>
151        </tr>
152        <tr>
153          <td></td>
154          <td>)</td>
155          <td></td><td></td>
156        </tr>
157      </table>
158</div>
159<div class="memdoc">
160<p>Set the LEDs. </p>
161
162<p>References <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>.</p>
163
164</div>
165</div>
166<a class="anchor" id="a71f565aa8f6824d52f817dc4a5e504f7"></a><!-- doxytag: member="lnx&#45;keyboard.h::kbdLinuxDestroyPrivate" ref="a71f565aa8f6824d52f817dc4a5e504f7" args="(pointer private)" -->
167<div class="memitem">
168<div class="memproto">
169      <table class="memname">
170        <tr>
171          <td class="memname">void kbdLinuxDestroyPrivate </td>
172          <td>(</td>
173          <td class="paramtype">pointer&#160;</td>
174          <td class="paramname"><em>priv</em></td><td>)</td>
175          <td></td>
176        </tr>
177      </table>
178</div>
179<div class="memdoc">
180<p>Destroy a private structure. </p>
181
182</div>
183</div>
184<a class="anchor" id="ae65b4fd1c456532a438479b35228d4cf"></a><!-- doxytag: member="lnx&#45;keyboard.h::kbdLinuxGetInfo" ref="ae65b4fd1c456532a438479b35228d4cf" args="(DevicePtr pDev, DMXLocalInitInfoPtr info)" -->
185<div class="memitem">
186<div class="memproto">
187      <table class="memname">
188        <tr>
189          <td class="memname">void kbdLinuxGetInfo </td>
190          <td>(</td>
191          <td class="paramtype">DevicePtr&#160;</td>
192          <td class="paramname"><em>pDev</em>, </td>
193        </tr>
194        <tr>
195          <td class="paramkey"></td>
196          <td></td>
197          <td class="paramtype"><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a>&#160;</td>
198          <td class="paramname"><em>info</em>&#160;</td>
199        </tr>
200        <tr>
201          <td></td>
202          <td>)</td>
203          <td></td><td></td>
204        </tr>
205      </table>
206</div>
207<div class="memdoc">
208<p>Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </p>
209
210<p>References <a class="el" href="struct__DMXLocalInitInfo.html#a24b09c34e0cf80ec33f093e908206be4">_DMXLocalInitInfo::focusClass</a>, <a class="el" href="struct__DMXLocalInitInfo.html#af19caac0e20a9106b73714c9c7991ce5">_DMXLocalInitInfo::kbdFeedbackClass</a>, <a class="el" href="lnx-keyboard_8c.html#ad3e8695c18469949e1ed00f7cd8055a5">kbdLinuxGetMap()</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a214969f0843dcb70d8f7577f58bafa48">_DMXLocalInitInfo::keyboard</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a06626a99542714bbd032e9e12a8c6b55">_DMXLocalInitInfo::keyClass</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a02861e7e9c24381a229567d36e7a68b7">_DMXLocalInitInfo::keySyms</a>, and <a class="el" href="struct__DMXLocalInitInfo.html#a2e345080abf875ce6f85e63ed631cbcd">_DMXLocalInitInfo::modMap</a>.</p>
211
212</div>
213</div>
214<a class="anchor" id="a24c8cbb95ad1f21d590f57cdb22c25f4"></a><!-- doxytag: member="lnx&#45;keyboard.h::kbdLinuxInit" ref="a24c8cbb95ad1f21d590f57cdb22c25f4" args="(DevicePtr pDev)" -->
215<div class="memitem">
216<div class="memproto">
217      <table class="memname">
218        <tr>
219          <td class="memname">void kbdLinuxInit </td>
220          <td>(</td>
221          <td class="paramtype">DevicePtr&#160;</td>
222          <td class="paramname"><em>pDev</em></td><td>)</td>
223          <td></td>
224        </tr>
225      </table>
226</div>
227<div class="memdoc">
228<p>Initialize the <em>pDev</em> as a Linux keyboard. </p>
229
230<p>References <a class="el" href="lnx-keyboard_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>, <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, and <a class="el" href="lnx-keyboard_8c.html#a583121fb5591debead8398c1626f2385">kbdLinuxOpenConsole()</a>.</p>
231
232</div>
233</div>
234<a class="anchor" id="a2f0498bfb85d9301b7bab802844b047d"></a><!-- doxytag: member="lnx&#45;keyboard.h::kbdLinuxOff" ref="a2f0498bfb85d9301b7bab802844b047d" args="(DevicePtr pDev)" -->
235<div class="memitem">
236<div class="memproto">
237      <table class="memname">
238        <tr>
239          <td class="memname">void kbdLinuxOff </td>
240          <td>(</td>
241          <td class="paramtype">DevicePtr&#160;</td>
242          <td class="paramname"><em>pDev</em></td><td>)</td>
243          <td></td>
244        </tr>
245      </table>
246</div>
247<div class="memdoc">
248<p>Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>). </p>
249
250<p>References <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>, and <a class="el" href="lnx-keyboard_8c.html#ac4263fa687463ddbe1622bdb82a44b08">kbdLinuxCloseConsole()</a>.</p>
251
252</div>
253</div>
254<a class="anchor" id="a541096c9032b400b6f7f8cc76c36f716"></a><!-- doxytag: member="lnx&#45;keyboard.h::kbdLinuxOn" ref="a541096c9032b400b6f7f8cc76c36f716" args="(DevicePtr pDev)" -->
255<div class="memitem">
256<div class="memproto">
257      <table class="memname">
258        <tr>
259          <td class="memname">int kbdLinuxOn </td>
260          <td>(</td>
261          <td class="paramtype">DevicePtr&#160;</td>
262          <td class="paramname"><em>pDev</em></td><td>)</td>
263          <td></td>
264        </tr>
265      </table>
266</div>
267<div class="memdoc">
268<p>Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>). </p>
269
270<p>References <a class="el" href="lnx-keyboard_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>, and <a class="el" href="lnx-keyboard_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a>.</p>
271
272</div>
273</div>
274<a class="anchor" id="a5c9ea7d8bd36c991d67988615ac57328"></a><!-- doxytag: member="lnx&#45;keyboard.h::kbdLinuxRead" ref="a5c9ea7d8bd36c991d67988615ac57328" args="(DevicePtr pDev, dmxMotionProcPtr motion, dmxEnqueueProcPtr enqueue, dmxCheckSpecialProcPtr checkspecial, DMXBlockType block)" -->
275<div class="memitem">
276<div class="memproto">
277      <table class="memname">
278        <tr>
279          <td class="memname">void kbdLinuxRead </td>
280          <td>(</td>
281          <td class="paramtype">DevicePtr&#160;</td>
282          <td class="paramname"><em>pDev</em>, </td>
283        </tr>
284        <tr>
285          <td class="paramkey"></td>
286          <td></td>
287          <td class="paramtype"><a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a>&#160;</td>
288          <td class="paramname"><em>motion</em>, </td>
289        </tr>
290        <tr>
291          <td class="paramkey"></td>
292          <td></td>
293          <td class="paramtype"><a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a>&#160;</td>
294          <td class="paramname"><em>enqueue</em>, </td>
295        </tr>
296        <tr>
297          <td class="paramkey"></td>
298          <td></td>
299          <td class="paramtype"><a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a>&#160;</td>
300          <td class="paramname"><em>checkspecial</em>, </td>
301        </tr>
302        <tr>
303          <td class="paramkey"></td>
304          <td></td>
305          <td class="paramtype"><a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a>&#160;</td>
306          <td class="paramname"><em>block</em>&#160;</td>
307        </tr>
308        <tr>
309          <td></td>
310          <td>)</td>
311          <td></td><td></td>
312        </tr>
313      </table>
314</div>
315<div class="memdoc">
316
317</div>
318</div>
319<a class="anchor" id="a8c0e2439e4991b78f99c79e90f5e474d"></a><!-- doxytag: member="lnx&#45;keyboard.h::kbdLinuxVTPostSwitch" ref="a8c0e2439e4991b78f99c79e90f5e474d" args="(pointer p)" -->
320<div class="memitem">
321<div class="memproto">
322      <table class="memname">
323        <tr>
324          <td class="memname">void kbdLinuxVTPostSwitch </td>
325          <td>(</td>
326          <td class="paramtype">pointer&#160;</td>
327          <td class="paramname"><em>p</em></td><td>)</td>
328          <td></td>
329        </tr>
330      </table>
331</div>
332<div class="memdoc">
333<p>Currently unused hook called after returning from a VT switch. </p>
334
335</div>
336</div>
337<a class="anchor" id="a50fd258e64aa03fd197af2a1a8306b32"></a><!-- doxytag: member="lnx&#45;keyboard.h::kbdLinuxVTPreSwitch" ref="a50fd258e64aa03fd197af2a1a8306b32" args="(pointer p)" -->
338<div class="memitem">
339<div class="memproto">
340      <table class="memname">
341        <tr>
342          <td class="memname">void kbdLinuxVTPreSwitch </td>
343          <td>(</td>
344          <td class="paramtype">pointer&#160;</td>
345          <td class="paramname"><em>p</em></td><td>)</td>
346          <td></td>
347        </tr>
348      </table>
349</div>
350<div class="memdoc">
351<p>Currently unused hook called prior to an VT switch. </p>
352
353</div>
354</div>
355<a class="anchor" id="a11eda88b5082b0adaad1bbc723dae485"></a><!-- doxytag: member="lnx&#45;keyboard.h::kbdLinuxVTSwitch" ref="a11eda88b5082b0adaad1bbc723dae485" args="(pointer p, int vt, dmxVTSwitchReturnProcPtr switch_return, pointer switch_return_data)" -->
356<div class="memitem">
357<div class="memproto">
358      <table class="memname">
359        <tr>
360          <td class="memname">int kbdLinuxVTSwitch </td>
361          <td>(</td>
362          <td class="paramtype">pointer&#160;</td>
363          <td class="paramname"><em>p</em>, </td>
364        </tr>
365        <tr>
366          <td class="paramkey"></td>
367          <td></td>
368          <td class="paramtype">int&#160;</td>
369          <td class="paramname"><em>vt</em>, </td>
370        </tr>
371        <tr>
372          <td class="paramkey"></td>
373          <td></td>
374          <td class="paramtype">void(*)(pointer)&#160;</td>
375          <td class="paramname"><em>switch_return</em>, </td>
376        </tr>
377        <tr>
378          <td class="paramkey"></td>
379          <td></td>
380          <td class="paramtype">pointer&#160;</td>
381          <td class="paramname"><em>switch_return_data</em>&#160;</td>
382        </tr>
383        <tr>
384          <td></td>
385          <td>)</td>
386          <td></td><td></td>
387        </tr>
388      </table>
389</div>
390<div class="memdoc">
391<p>Tell the operating system to switch to <em>vt</em>. The <em>switch_return</em> function is called with the <em>switch_return_data</em> when the VT is switched back to the pre-switch VT (i.e., the user returns to the DMX session). </p>
392
393<p>References <a class="el" href="lnx-keyboard_8c.html#a6bce6020b913db8afe5d94bc63d1b355">FATAL0</a>, <a class="el" href="struct__myPrivate.html#a6b26eb0acc0b932c8dee8277501e6273">_myPrivate::fd</a>, <a class="el" href="lnx-keyboard_8c.html#a49faeb3e9d06f702f1bd45ffc6f7c8b7">kbdLinuxActivate()</a>, <a class="el" href="struct__myPrivate.html#ab4797772b07f0fc6aca12ca15bf58b26">_myPrivate::switch_return</a>, <a class="el" href="struct__myPrivate.html#a263e4371987e44a409cae181d97ce60b">_myPrivate::switch_return_data</a>, <a class="el" href="struct__myPrivate.html#a7b46718db81521ae01ffbbe8f32a0203">_myPrivate::switched</a>, and <a class="el" href="struct__myPrivate.html#a463f3cda6fa6032ea0d976d35cd11c30">_myPrivate::vtno</a>.</p>
394
395</div>
396</div>
397</div>
398</div>
399  <div id="nav-path" class="navpath">
400    <ul>
401      <li class="navelem"><a class="el" href="lnx-keyboard_8h.html">lnx-keyboard.h</a>      </li>
402    <hr>
403    <address>
404      <small>
405        Generated June 29, 2004 for <a
406        href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
407        <a href="http://www.doxygen.org/index.html">doxygen</a>
408        1.3.4.
409      </small>
410    </addres>
411    </hr>
412  </body>
413</html>
414