1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
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">
9 <!-- Generated by Doxygen 1.7.1 -->
10 <div class="navigation" id="top">
13 <li><a href="main.html"><span>Main Page</span></a></li>
14 <li><a href="annotated.html"><span>Data Structures</span></a></li>
15 <li class="current"><a href="files.html"><span>Files</span></a></li>
20 <li><a href="files.html"><span>File List</span></a></li>
21 <li><a href="globals.html"><span>Globals</span></a></li>
27 <a href="#nested-classes">Data Structures</a> |
28 <a href="#define-members">Defines</a> |
29 <a href="#typedef-members">Typedefs</a> |
30 <a href="#func-members">Functions</a> </div>
31 <div class="headertitle">
32 <h1>lnx-ps2.c File Reference</h1> </div>
34 <div class="contents">
35 <code>#include "inputstr.h"</code><br/>
36 <code>#include <X11/Xos.h></code><br/>
37 <code>#include <errno.h></code><br/>
38 <code>#include <termios.h></code><br/>
39 <code>#include "<a class="el" href="dmxinputinit_8h_source.html">dmxinputinit.h</a>"</code><br/>
40 <code>#include "<a class="el" href="lnx-ps2_8h_source.html">lnx-ps2.h</a>"</code><br/>
41 <table class="memberdecls">
42 <tr><td colspan="2"><h2><a name="nested-classes"></a>
43 Data Structures</h2></td></tr>
44 <tr><td class="memItemLeft" align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__myPrivate.html">_myPrivate</a></td></tr>
45 <tr><td colspan="2"><h2><a name="define-members"></a>
46 Defines</h2></td></tr>
47 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#aacf069d346230dd96812d5395728eef2">GETPRIV</a></td></tr>
48 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a837722a322e811d5e42242655f277b87">LOG0</a>(f) dmxLog(dmxDebug,f)</td></tr>
49 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#aab4b3434c36117a2ecdddec40716d97a">LOG1</a>(f, a) dmxLog(dmxDebug,f,a)</td></tr>
50 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a16da5d597d9bfb9e569a9bfb6996382c">LOG2</a>(f, a, b) dmxLog(dmxDebug,f,a,b)</td></tr>
51 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a8247f0bca25789d2ac27674eb26e223f">LOG3</a>(f, a, b, c) dmxLog(dmxDebug,f,a,b,c)</td></tr>
52 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a6bce6020b913db8afe5d94bc63d1b355">FATAL0</a>(f) dmxLog(dmxFatal,f)</td></tr>
53 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>(f, a) dmxLog(dmxFatal,f,a)</td></tr>
54 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a7952c9e9fe9c75be4964fc53a4299183">FATAL2</a>(f, a, b) dmxLog(dmxFatal,f,a,b)</td></tr>
55 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a11a17082bee3b1b8217ce8a12adcf814">MOTIONPROC</a> <a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td></tr>
56 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a017080ce5e42667a6582cf858e7185cd">ENQUEUEPROC</a> <a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td></tr>
57 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#aa35a985e998ad5e2187e13434dca118a">CHECKPROC</a> <a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td></tr>
58 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a52220397ecea855b3a99746e451426e1">BLOCK</a> <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td></tr>
59 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a7581da9bfd7ebf4fe3703352df521931">PRESS</a>(b)</td></tr>
60 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a2b4d2480737f9eb52f80998518486f01">RELEASE</a>(b)</td></tr>
61 <tr><td colspan="2"><h2><a name="typedef-members"></a>
62 Typedefs</h2></td></tr>
63 <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a25692217bddf2b6c089525b325afccf1">myPrivate</a></td></tr>
64 <tr><td colspan="2"><h2><a name="func-members"></a>
65 Functions</h2></td></tr>
66 <tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#ad806e9804e49f47d75f252ab0b14c075">ps2LinuxReadBytes</a> (int fd, unsigned char *buf, int len, int min)</td></tr>
67 <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#af3ff29bf7e70049ca978bc8fbff4aab6">ps2LinuxButton</a> (DevicePtr pDev, ENQUEUEPROC enqueue, int buttons, BLOCK block)</td></tr>
68 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a373ac6b94ea32ce3f7329404ba1ae382">ps2LinuxRead</a> (DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)</td></tr>
69 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#aa0f0b690de9e5c3a958909000c7f787d">ps2LinuxInit</a> (DevicePtr pDev)</td></tr>
70 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#aaf9aaca79e044d91f072901ad3be1863">ps2LinuxOn</a> (DevicePtr pDev)</td></tr>
71 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#af955e539213ec85f5b6d5d7b38dae89e">ps2LinuxOff</a> (DevicePtr pDev)</td></tr>
72 <tr><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a0f65c382ff39d64cd881a919eb566964">ps2LinuxGetMap</a> (DevicePtr pDev, unsigned char *<a class="el" href="usb-keyboard_8c.html#a2187a19657fb0b38c67dbafc7dd74c4d">map</a>, int *nButtons)</td></tr>
73 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a3a9ac063b46a191b38d92881367d74d4">ps2LinuxVTPreSwitch</a> (pointer p)</td></tr>
74 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#a11a5bfc4866f86dfe3ea5acb788c4afe">ps2LinuxVTPostSwitch</a> (pointer p)</td></tr>
75 <tr><td class="memItemLeft" align="right" valign="top">pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#ab6e438a481e24f8c6ef7d731b8ee4fb8">ps2LinuxCreatePrivate</a> (DeviceIntPtr pMouse)</td></tr>
76 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#af67bcdd060164de0c3a0d3e69c8483ac">ps2LinuxDestroyPrivate</a> (pointer priv)</td></tr>
77 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="lnx-ps2_8c.html#ab914e24acbae5ce49174e06842ac684b">ps2LinuxGetInfo</a> (DevicePtr pDev, <a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> info)</td></tr>
79 <hr/><a name="_details"></a><h2>Detailed Description</h2>
80 <p>This code implements a low-level device driver for a serial MS mouse. The code is derived from code by Keith Packard (see the source code for complete references). </p>
81 <hr/><h2>Define Documentation</h2>
82 <a class="anchor" id="a52220397ecea855b3a99746e451426e1"></a><!-- doxytag: member="lnx-ps2.c::BLOCK" ref="a52220397ecea855b3a99746e451426e1" args="" -->
84 <div class="memproto">
85 <table class="memname">
87 <td class="memname">#define BLOCK <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td>
95 <a class="anchor" id="aa35a985e998ad5e2187e13434dca118a"></a><!-- doxytag: member="lnx-ps2.c::CHECKPROC" ref="aa35a985e998ad5e2187e13434dca118a" args="" -->
97 <div class="memproto">
98 <table class="memname">
100 <td class="memname">#define CHECKPROC <a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td>
108 <a class="anchor" id="a017080ce5e42667a6582cf858e7185cd"></a><!-- doxytag: member="lnx-ps2.c::ENQUEUEPROC" ref="a017080ce5e42667a6582cf858e7185cd" args="" -->
109 <div class="memitem">
110 <div class="memproto">
111 <table class="memname">
113 <td class="memname">#define ENQUEUEPROC <a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td>
121 <a class="anchor" id="a6bce6020b913db8afe5d94bc63d1b355"></a><!-- doxytag: member="lnx-ps2.c::FATAL0" ref="a6bce6020b913db8afe5d94bc63d1b355" args="(f)" -->
122 <div class="memitem">
123 <div class="memproto">
124 <table class="memname">
126 <td class="memname">#define FATAL0</td>
128 <td class="paramtype"> </td>
129 <td class="paramname">f</td>
130 <td> ) </td>
131 <td> dmxLog(dmxFatal,f)</td>
139 <a class="anchor" id="a11bcea7c6bc7dbe400a3855f5b8676ce"></a><!-- doxytag: member="lnx-ps2.c::FATAL1" ref="a11bcea7c6bc7dbe400a3855f5b8676ce" args="(f, a)" -->
140 <div class="memitem">
141 <div class="memproto">
142 <table class="memname">
144 <td class="memname">#define FATAL1</td>
146 <td class="paramtype"> </td>
147 <td class="paramname">f, </td>
150 <td class="paramkey"></td>
152 <td class="paramtype"> </td>
153 <td class="paramname">a</td><td> </td>
158 <td></td><td></td><td> dmxLog(dmxFatal,f,a)</td>
164 <p>Referenced by <a class="el" href="lnx-ps2_8h.html#aa0f0b690de9e5c3a958909000c7f787d">ps2LinuxInit()</a>.</p>
168 <a class="anchor" id="a7952c9e9fe9c75be4964fc53a4299183"></a><!-- doxytag: member="lnx-ps2.c::FATAL2" ref="a7952c9e9fe9c75be4964fc53a4299183" args="(f, a, b)" -->
169 <div class="memitem">
170 <div class="memproto">
171 <table class="memname">
173 <td class="memname">#define FATAL2</td>
175 <td class="paramtype"> </td>
176 <td class="paramname">f, </td>
179 <td class="paramkey"></td>
181 <td class="paramtype"> </td>
182 <td class="paramname">a, </td>
185 <td class="paramkey"></td>
187 <td class="paramtype"> </td>
188 <td class="paramname">b</td><td> </td>
193 <td></td><td></td><td> dmxLog(dmxFatal,f,a,b)</td>
201 <a class="anchor" id="aacf069d346230dd96812d5395728eef2"></a><!-- doxytag: member="lnx-ps2.c::GETPRIV" ref="aacf069d346230dd96812d5395728eef2" args="" -->
202 <div class="memitem">
203 <div class="memproto">
204 <table class="memname">
206 <td class="memname">#define GETPRIV</td>
211 <b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="struct__myPrivate.html">myPrivate</a> *priv \
212 = ((<a class="code" href="struct__DMXLocalInputInfo.html">DMXLocalInputInfoPtr</a>)(pDev->devicePrivate))->private
216 <a class="anchor" id="a837722a322e811d5e42242655f277b87"></a><!-- doxytag: member="lnx-ps2.c::LOG0" ref="a837722a322e811d5e42242655f277b87" args="(f)" -->
217 <div class="memitem">
218 <div class="memproto">
219 <table class="memname">
221 <td class="memname">#define LOG0</td>
223 <td class="paramtype"> </td>
224 <td class="paramname">f</td>
225 <td> ) </td>
226 <td> dmxLog(dmxDebug,f)</td>
234 <a class="anchor" id="aab4b3434c36117a2ecdddec40716d97a"></a><!-- doxytag: member="lnx-ps2.c::LOG1" ref="aab4b3434c36117a2ecdddec40716d97a" args="(f, a)" -->
235 <div class="memitem">
236 <div class="memproto">
237 <table class="memname">
239 <td class="memname">#define LOG1</td>
241 <td class="paramtype"> </td>
242 <td class="paramname">f, </td>
245 <td class="paramkey"></td>
247 <td class="paramtype"> </td>
248 <td class="paramname">a</td><td> </td>
253 <td></td><td></td><td> dmxLog(dmxDebug,f,a)</td>
261 <a class="anchor" id="a16da5d597d9bfb9e569a9bfb6996382c"></a><!-- doxytag: member="lnx-ps2.c::LOG2" ref="a16da5d597d9bfb9e569a9bfb6996382c" args="(f, a, b)" -->
262 <div class="memitem">
263 <div class="memproto">
264 <table class="memname">
266 <td class="memname">#define LOG2</td>
268 <td class="paramtype"> </td>
269 <td class="paramname">f, </td>
272 <td class="paramkey"></td>
274 <td class="paramtype"> </td>
275 <td class="paramname">a, </td>
278 <td class="paramkey"></td>
280 <td class="paramtype"> </td>
281 <td class="paramname">b</td><td> </td>
286 <td></td><td></td><td> dmxLog(dmxDebug,f,a,b)</td>
294 <a class="anchor" id="a8247f0bca25789d2ac27674eb26e223f"></a><!-- doxytag: member="lnx-ps2.c::LOG3" ref="a8247f0bca25789d2ac27674eb26e223f" args="(f, a, b, c)" -->
295 <div class="memitem">
296 <div class="memproto">
297 <table class="memname">
299 <td class="memname">#define LOG3</td>
301 <td class="paramtype"> </td>
302 <td class="paramname">f, </td>
305 <td class="paramkey"></td>
307 <td class="paramtype"> </td>
308 <td class="paramname">a, </td>
311 <td class="paramkey"></td>
313 <td class="paramtype"> </td>
314 <td class="paramname">b, </td>
317 <td class="paramkey"></td>
319 <td class="paramtype"> </td>
320 <td class="paramname">c</td><td> </td>
325 <td></td><td></td><td> dmxLog(dmxDebug,f,a,b,c)</td>
333 <a class="anchor" id="a11a17082bee3b1b8217ce8a12adcf814"></a><!-- doxytag: member="lnx-ps2.c::MOTIONPROC" ref="a11a17082bee3b1b8217ce8a12adcf814" args="" -->
334 <div class="memitem">
335 <div class="memproto">
336 <table class="memname">
338 <td class="memname">#define MOTIONPROC <a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td>
346 <a class="anchor" id="a7581da9bfd7ebf4fe3703352df521931"></a><!-- doxytag: member="lnx-ps2.c::PRESS" ref="a7581da9bfd7ebf4fe3703352df521931" args="(b)" -->
347 <div class="memitem">
348 <div class="memproto">
349 <table class="memname">
351 <td class="memname">#define PRESS</td>
353 <td class="paramtype"> </td>
354 <td class="paramname">b</td>
355 <td> ) </td>
361 <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
362 enqueue(pDev, ButtonPress, 0, 0, NULL, block); \
363 } <span class="keywordflow">while</span> (0)
367 <a class="anchor" id="a2b4d2480737f9eb52f80998518486f01"></a><!-- doxytag: member="lnx-ps2.c::RELEASE" ref="a2b4d2480737f9eb52f80998518486f01" args="(b)" -->
368 <div class="memitem">
369 <div class="memproto">
370 <table class="memname">
372 <td class="memname">#define RELEASE</td>
374 <td class="paramtype"> </td>
375 <td class="paramname">b</td>
376 <td> ) </td>
382 <b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
383 enqueue(pDev, ButtonRelease, 0, 0, NULL, block); \
384 } <span class="keywordflow">while</span> (0)
388 <hr/><h2>Typedef Documentation</h2>
389 <a class="anchor" id="a25692217bddf2b6c089525b325afccf1"></a><!-- doxytag: member="lnx-ps2.c::myPrivate" ref="a25692217bddf2b6c089525b325afccf1" args="" -->
390 <div class="memitem">
391 <div class="memproto">
392 <table class="memname">
394 <td class="memname">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a> <a class="el" href="struct__myPrivate.html">myPrivate</a></td>
402 <hr/><h2>Function Documentation</h2>
403 <a class="anchor" id="af3ff29bf7e70049ca978bc8fbff4aab6"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxButton" ref="af3ff29bf7e70049ca978bc8fbff4aab6" args="(DevicePtr pDev, ENQUEUEPROC enqueue, int buttons, BLOCK block)" -->
404 <div class="memitem">
405 <div class="memproto">
406 <table class="memname">
408 <td class="memname">static void ps2LinuxButton </td>
410 <td class="paramtype">DevicePtr </td>
411 <td class="paramname"> <em>pDev</em>, </td>
414 <td class="paramkey"></td>
416 <td class="paramtype">ENQUEUEPROC </td>
417 <td class="paramname"> <em>enqueue</em>, </td>
420 <td class="paramkey"></td>
422 <td class="paramtype">int </td>
423 <td class="paramname"> <em>buttons</em>, </td>
426 <td class="paramkey"></td>
428 <td class="paramtype">BLOCK </td>
429 <td class="paramname"> <em>block</em></td><td> </td>
434 <td></td><td></td><td><code> [static]</code></td>
440 <p>References <a class="el" href="lnx-ms_8c.html#a7581da9bfd7ebf4fe3703352df521931">PRESS</a>, and <a class="el" href="lnx-ms_8c.html#a2b4d2480737f9eb52f80998518486f01">RELEASE</a>.</p>
442 <p>Referenced by <a class="el" href="lnx-ps2_8c.html#a373ac6b94ea32ce3f7329404ba1ae382">ps2LinuxRead()</a>.</p>
446 <a class="anchor" id="ab6e438a481e24f8c6ef7d731b8ee4fb8"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxCreatePrivate" ref="ab6e438a481e24f8c6ef7d731b8ee4fb8" args="(DeviceIntPtr pMouse)" -->
447 <div class="memitem">
448 <div class="memproto">
449 <table class="memname">
451 <td class="memname">pointer ps2LinuxCreatePrivate </td>
453 <td class="paramtype">DeviceIntPtr </td>
454 <td class="paramname"> <em>pMouse</em></td>
455 <td> ) </td>
461 <p>Create a private structure for use within this file. </p>
463 <p>References <a class="el" href="struct__myPrivate.html#a6b26eb0acc0b932c8dee8277501e6273">_myPrivate::fd</a>, and <a class="el" href="struct__myPrivate.html#a3e46e1ccb546bbadfa5ebb165a8b11d4">_myPrivate::pMouse</a>.</p>
467 <a class="anchor" id="af67bcdd060164de0c3a0d3e69c8483ac"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxDestroyPrivate" ref="af67bcdd060164de0c3a0d3e69c8483ac" args="(pointer priv)" -->
468 <div class="memitem">
469 <div class="memproto">
470 <table class="memname">
472 <td class="memname">void ps2LinuxDestroyPrivate </td>
474 <td class="paramtype">pointer </td>
475 <td class="paramname"> <em>priv</em></td>
476 <td> ) </td>
482 <p>Destroy a private structure. </p>
486 <a class="anchor" id="ab914e24acbae5ce49174e06842ac684b"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxGetInfo" ref="ab914e24acbae5ce49174e06842ac684b" args="(DevicePtr pDev, DMXLocalInitInfoPtr info)" -->
487 <div class="memitem">
488 <div class="memproto">
489 <table class="memname">
491 <td class="memname">void ps2LinuxGetInfo </td>
493 <td class="paramtype">DevicePtr </td>
494 <td class="paramname"> <em>pDev</em>, </td>
497 <td class="paramkey"></td>
499 <td class="paramtype"><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> </td>
500 <td class="paramname"> <em>info</em></td><td> </td>
505 <td></td><td></td><td></td>
510 <p>Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </p>
512 <p>References <a class="el" href="struct__DMXLocalInitInfo.html#a58b2e6764967add7eda1c1f2f0860abc">_DMXLocalInitInfo::buttonClass</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a43d86cc82219794bba7ba1ee66472a45">_DMXLocalInitInfo::map</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a5de8a5ac80a30840cba0d9f3074289ca">_DMXLocalInitInfo::maxres</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a63477e691c43eca2dbf569fb0feb74be">_DMXLocalInitInfo::maxval</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a139fed62b89a92d80997166c8cfcdebf">_DMXLocalInitInfo::minres</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a0c47ee21909227a1ea5d40ba473e0e25">_DMXLocalInitInfo::minval</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a9264f367a1c1e252679299b00f94458c">_DMXLocalInitInfo::numButtons</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a5e192625179bbed020a720e448c789aa">_DMXLocalInitInfo::numRelAxes</a>, <a class="el" href="lnx-ps2_8c.html#a0f65c382ff39d64cd881a919eb566964">ps2LinuxGetMap()</a>, <a class="el" href="struct__DMXLocalInitInfo.html#a1c52bc6e1c328ef9e808a111dd050fc2">_DMXLocalInitInfo::ptrFeedbackClass</a>, <a class="el" href="struct__DMXLocalInitInfo.html#abb910012dc1abde90f954354f8ceb2a1">_DMXLocalInitInfo::res</a>, and <a class="el" href="struct__DMXLocalInitInfo.html#a9af277d2da1ade2138488a413e9c5ceb">_DMXLocalInitInfo::valuatorClass</a>.</p>
516 <a class="anchor" id="a0f65c382ff39d64cd881a919eb566964"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxGetMap" ref="a0f65c382ff39d64cd881a919eb566964" args="(DevicePtr pDev, unsigned char *map, int *nButtons)" -->
517 <div class="memitem">
518 <div class="memproto">
519 <table class="memname">
521 <td class="memname">static void ps2LinuxGetMap </td>
523 <td class="paramtype">DevicePtr </td>
524 <td class="paramname"> <em>pDev</em>, </td>
527 <td class="paramkey"></td>
529 <td class="paramtype">unsigned char * </td>
530 <td class="paramname"> <em>map</em>, </td>
533 <td class="paramkey"></td>
535 <td class="paramtype">int * </td>
536 <td class="paramname"> <em>nButtons</em></td><td> </td>
541 <td></td><td></td><td><code> [static]</code></td>
547 <p>Referenced by <a class="el" href="lnx-ps2_8h.html#ab914e24acbae5ce49174e06842ac684b">ps2LinuxGetInfo()</a>.</p>
551 <a class="anchor" id="aa0f0b690de9e5c3a958909000c7f787d"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxInit" ref="aa0f0b690de9e5c3a958909000c7f787d" args="(DevicePtr pDev)" -->
552 <div class="memitem">
553 <div class="memproto">
554 <table class="memname">
556 <td class="memname">void ps2LinuxInit </td>
558 <td class="paramtype">DevicePtr </td>
559 <td class="paramname"> <em>pDev</em></td>
560 <td> ) </td>
566 <p>Initialize <em>pDev</em>. </p>
568 <p>References <a class="el" href="lnx-ps2_8c.html#a11bcea7c6bc7dbe400a3855f5b8676ce">FATAL1</a>, and <a class="el" href="dmxsigio_8c.html#a39d33ce33804efd4d52606d59071c6d8">O_NONBLOCK</a>.</p>
570 <p>Referenced by <a class="el" href="lnx-ps2_8h.html#aaf9aaca79e044d91f072901ad3be1863">ps2LinuxOn()</a>.</p>
574 <a class="anchor" id="af955e539213ec85f5b6d5d7b38dae89e"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxOff" ref="af955e539213ec85f5b6d5d7b38dae89e" args="(DevicePtr pDev)" -->
575 <div class="memitem">
576 <div class="memproto">
577 <table class="memname">
579 <td class="memname">void ps2LinuxOff </td>
581 <td class="paramtype">DevicePtr </td>
582 <td class="paramname"> <em>pDev</em></td>
583 <td> ) </td>
589 <p>Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>). </p>
593 <a class="anchor" id="aaf9aaca79e044d91f072901ad3be1863"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxOn" ref="aaf9aaca79e044d91f072901ad3be1863" args="(DevicePtr pDev)" -->
594 <div class="memitem">
595 <div class="memproto">
596 <table class="memname">
598 <td class="memname">int ps2LinuxOn </td>
600 <td class="paramtype">DevicePtr </td>
601 <td class="paramname"> <em>pDev</em></td>
602 <td> ) </td>
608 <p>Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>). </p>
610 <p>References <a class="el" href="lnx-ps2_8c.html#aa0f0b690de9e5c3a958909000c7f787d">ps2LinuxInit()</a>.</p>
614 <a class="anchor" id="a373ac6b94ea32ce3f7329404ba1ae382"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxRead" ref="a373ac6b94ea32ce3f7329404ba1ae382" args="(DevicePtr pDev, MOTIONPROC motion, ENQUEUEPROC enqueue, CHECKPROC checkspecial, BLOCK block)" -->
615 <div class="memitem">
616 <div class="memproto">
617 <table class="memname">
619 <td class="memname">void ps2LinuxRead </td>
621 <td class="paramtype">DevicePtr </td>
622 <td class="paramname"> <em>pDev</em>, </td>
625 <td class="paramkey"></td>
627 <td class="paramtype">MOTIONPROC </td>
628 <td class="paramname"> <em>motion</em>, </td>
631 <td class="paramkey"></td>
633 <td class="paramtype">ENQUEUEPROC </td>
634 <td class="paramname"> <em>enqueue</em>, </td>
637 <td class="paramkey"></td>
639 <td class="paramtype">CHECKPROC </td>
640 <td class="paramname"> <em>checkspecial</em>, </td>
643 <td class="paramkey"></td>
645 <td class="paramtype">BLOCK </td>
646 <td class="paramname"> <em>block</em></td><td> </td>
651 <td></td><td></td><td></td>
656 <p>Read an event from the <em>pDev</em> device. If the event is a motion event, enqueue it with the <em>motion</em> function. Otherwise, check for special keys with the <em>checkspecial</em> function and enqueue the event with the <em>enqueue</em> function. The <em>block</em> type is passed to the functions so that they may block SIGIO handling as appropriate to the caller of this function. </p>
658 <p>References <a class="el" href="lnx-ps2_8c.html#af3ff29bf7e70049ca978bc8fbff4aab6">ps2LinuxButton()</a>, and <a class="el" href="lnx-ps2_8c.html#ad806e9804e49f47d75f252ab0b14c075">ps2LinuxReadBytes()</a>.</p>
662 <a class="anchor" id="ad806e9804e49f47d75f252ab0b14c075"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxReadBytes" ref="ad806e9804e49f47d75f252ab0b14c075" args="(int fd, unsigned char *buf, int len, int min)" -->
663 <div class="memitem">
664 <div class="memproto">
665 <table class="memname">
667 <td class="memname">static int ps2LinuxReadBytes </td>
669 <td class="paramtype">int </td>
670 <td class="paramname"> <em>fd</em>, </td>
673 <td class="paramkey"></td>
675 <td class="paramtype">unsigned char * </td>
676 <td class="paramname"> <em>buf</em>, </td>
679 <td class="paramkey"></td>
681 <td class="paramtype">int </td>
682 <td class="paramname"> <em>len</em>, </td>
685 <td class="paramkey"></td>
687 <td class="paramtype">int </td>
688 <td class="paramname"> <em>min</em></td><td> </td>
693 <td></td><td></td><td><code> [static]</code></td>
699 <p>Referenced by <a class="el" href="lnx-ps2_8c.html#a373ac6b94ea32ce3f7329404ba1ae382">ps2LinuxRead()</a>.</p>
703 <a class="anchor" id="a11a5bfc4866f86dfe3ea5acb788c4afe"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxVTPostSwitch" ref="a11a5bfc4866f86dfe3ea5acb788c4afe" args="(pointer p)" -->
704 <div class="memitem">
705 <div class="memproto">
706 <table class="memname">
708 <td class="memname">void ps2LinuxVTPostSwitch </td>
710 <td class="paramtype">pointer </td>
711 <td class="paramname"> <em>p</em></td>
712 <td> ) </td>
718 <p>Currently unused hook called after returning from a VT switch. </p>
722 <a class="anchor" id="a3a9ac063b46a191b38d92881367d74d4"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxVTPreSwitch" ref="a3a9ac063b46a191b38d92881367d74d4" args="(pointer p)" -->
723 <div class="memitem">
724 <div class="memproto">
725 <table class="memname">
727 <td class="memname">void ps2LinuxVTPreSwitch </td>
729 <td class="paramtype">pointer </td>
730 <td class="paramname"> <em>p</em></td>
731 <td> ) </td>
737 <p>Currently unused hook called prior to an VT switch. </p>
745 Generated June 29, 2004 for <a
746 href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
747 <a href="http://www.doxygen.org/index.html">doxygen</a>