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.6.3 -->
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>
25
<div class="contents">
26
<h1>lnx-ps2.c File Reference</h1><code>#include "inputstr.h"</code><br/>
27
<code>#include <X11/Xos.h></code><br/>
28
<code>#include <errno.h></code><br/>
29
<code>#include <termios.h></code><br/>
30
<code>#include "<a class="el" href="dmxinputinit_8h_source.html">dmxinputinit.h</a>"</code><br/>
31
<code>#include "<a class="el" href="lnx-ps2_8h_source.html">lnx-ps2.h</a>"</code><br/>
32
<table border="0" cellpadding="0" cellspacing="0">
33
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
34
<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>
35
<tr><td colspan="2"><h2>Defines</h2></td></tr>
36
<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>
37
<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>
38
<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>
39
<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>
40
<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>
41
<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>
42
<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>
43
<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>
44
<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>
45
<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>
46
<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>
47
<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>
48
<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>
49
<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>
50
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
51
<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>
52
<tr><td colspan="2"><h2>Functions</h2></td></tr>
53
<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>
54
<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>
55
<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>
56
<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>
57
<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>
58
<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>
59
<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>
60
<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>
61
<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>
62
<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>
63
<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>
64
<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>
66
<hr/><a name="_details"></a><h2>Detailed Description</h2>
67
<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>
68
<hr/><h2>Define Documentation</h2>
69
<a class="anchor" id="a52220397ecea855b3a99746e451426e1"></a><!-- doxytag: member="lnx-ps2.c::BLOCK" ref="a52220397ecea855b3a99746e451426e1" args="" -->
71
<div class="memproto">
72
<table class="memname">
74
<td class="memname">#define BLOCK <a class="el" href="dmxinput_8h.html#a3a7195ab3516c5354bac4ca80b2eedb7">DMXBlockType</a></td>
82
<a class="anchor" id="aa35a985e998ad5e2187e13434dca118a"></a><!-- doxytag: member="lnx-ps2.c::CHECKPROC" ref="aa35a985e998ad5e2187e13434dca118a" args="" -->
84
<div class="memproto">
85
<table class="memname">
87
<td class="memname">#define CHECKPROC <a class="el" href="dmxinputinit_8h.html#a838cb45fd92d5cf506e4179b601f7dbc">dmxCheckSpecialProcPtr</a></td>
95
<a class="anchor" id="a017080ce5e42667a6582cf858e7185cd"></a><!-- doxytag: member="lnx-ps2.c::ENQUEUEPROC" ref="a017080ce5e42667a6582cf858e7185cd" args="" -->
97
<div class="memproto">
98
<table class="memname">
100
<td class="memname">#define ENQUEUEPROC <a class="el" href="dmxinputinit_8h.html#adbd955b9ddbc5ffe38ff65e3f068f205">dmxEnqueueProcPtr</a></td>
108
<a class="anchor" id="a6bce6020b913db8afe5d94bc63d1b355"></a><!-- doxytag: member="lnx-ps2.c::FATAL0" ref="a6bce6020b913db8afe5d94bc63d1b355" args="(f)" -->
109
<div class="memitem">
110
<div class="memproto">
111
<table class="memname">
113
<td class="memname">#define FATAL0</td>
115
<td class="paramtype">f </td>
116
<td class="paramname"></td>
117
<td> ) </td>
118
<td> dmxLog(dmxFatal,f)</td>
126
<a class="anchor" id="a11bcea7c6bc7dbe400a3855f5b8676ce"></a><!-- doxytag: member="lnx-ps2.c::FATAL1" ref="a11bcea7c6bc7dbe400a3855f5b8676ce" args="(f, a)" -->
127
<div class="memitem">
128
<div class="memproto">
129
<table class="memname">
131
<td class="memname">#define FATAL1</td>
133
<td class="paramtype">f, </td>
136
<td class="paramkey"></td>
138
<td class="paramtype">a </td>
139
<td class="paramname"></td>
140
<td> ) </td>
141
<td> dmxLog(dmxFatal,f,a)</td>
149
<a class="anchor" id="a7952c9e9fe9c75be4964fc53a4299183"></a><!-- doxytag: member="lnx-ps2.c::FATAL2" ref="a7952c9e9fe9c75be4964fc53a4299183" args="(f, a, b)" -->
150
<div class="memitem">
151
<div class="memproto">
152
<table class="memname">
154
<td class="memname">#define FATAL2</td>
156
<td class="paramtype">f, </td>
159
<td class="paramkey"></td>
161
<td class="paramtype">a, </td>
164
<td class="paramkey"></td>
166
<td class="paramtype">b </td>
167
<td class="paramname"></td>
168
<td> ) </td>
169
<td> dmxLog(dmxFatal,f,a,b)</td>
177
<a class="anchor" id="aacf069d346230dd96812d5395728eef2"></a><!-- doxytag: member="lnx-ps2.c::GETPRIV" ref="aacf069d346230dd96812d5395728eef2" args="" -->
178
<div class="memitem">
179
<div class="memproto">
180
<table class="memname">
182
<td class="memname">#define GETPRIV</td>
187
<b>Value:</b><div class="fragment"><pre class="fragment"><a class="code" href="struct__myPrivate.html">myPrivate</a> *priv \
188
= ((<a class="code" href="struct__DMXLocalInputInfo.html">DMXLocalInputInfoPtr</a>)(pDev->devicePrivate))->private
192
<a class="anchor" id="a837722a322e811d5e42242655f277b87"></a><!-- doxytag: member="lnx-ps2.c::LOG0" ref="a837722a322e811d5e42242655f277b87" args="(f)" -->
193
<div class="memitem">
194
<div class="memproto">
195
<table class="memname">
197
<td class="memname">#define LOG0</td>
199
<td class="paramtype">f </td>
200
<td class="paramname"></td>
201
<td> ) </td>
202
<td> dmxLog(dmxDebug,f)</td>
210
<a class="anchor" id="aab4b3434c36117a2ecdddec40716d97a"></a><!-- doxytag: member="lnx-ps2.c::LOG1" ref="aab4b3434c36117a2ecdddec40716d97a" args="(f, a)" -->
211
<div class="memitem">
212
<div class="memproto">
213
<table class="memname">
215
<td class="memname">#define LOG1</td>
217
<td class="paramtype">f, </td>
220
<td class="paramkey"></td>
222
<td class="paramtype">a </td>
223
<td class="paramname"></td>
224
<td> ) </td>
225
<td> dmxLog(dmxDebug,f,a)</td>
233
<a class="anchor" id="a16da5d597d9bfb9e569a9bfb6996382c"></a><!-- doxytag: member="lnx-ps2.c::LOG2" ref="a16da5d597d9bfb9e569a9bfb6996382c" args="(f, a, b)" -->
234
<div class="memitem">
235
<div class="memproto">
236
<table class="memname">
238
<td class="memname">#define LOG2</td>
240
<td class="paramtype">f, </td>
243
<td class="paramkey"></td>
245
<td class="paramtype">a, </td>
248
<td class="paramkey"></td>
250
<td class="paramtype">b </td>
251
<td class="paramname"></td>
252
<td> ) </td>
253
<td> dmxLog(dmxDebug,f,a,b)</td>
261
<a class="anchor" id="a8247f0bca25789d2ac27674eb26e223f"></a><!-- doxytag: member="lnx-ps2.c::LOG3" ref="a8247f0bca25789d2ac27674eb26e223f" args="(f, a, b, c)" -->
262
<div class="memitem">
263
<div class="memproto">
264
<table class="memname">
266
<td class="memname">#define LOG3</td>
268
<td class="paramtype">f, </td>
271
<td class="paramkey"></td>
273
<td class="paramtype">a, </td>
276
<td class="paramkey"></td>
278
<td class="paramtype">b, </td>
281
<td class="paramkey"></td>
283
<td class="paramtype">c </td>
284
<td class="paramname"></td>
285
<td> ) </td>
286
<td> dmxLog(dmxDebug,f,a,b,c)</td>
294
<a class="anchor" id="a11a17082bee3b1b8217ce8a12adcf814"></a><!-- doxytag: member="lnx-ps2.c::MOTIONPROC" ref="a11a17082bee3b1b8217ce8a12adcf814" args="" -->
295
<div class="memitem">
296
<div class="memproto">
297
<table class="memname">
299
<td class="memname">#define MOTIONPROC <a class="el" href="dmxinputinit_8h.html#a1279820425966adabf5c77357e4a289c">dmxMotionProcPtr</a></td>
307
<a class="anchor" id="a7581da9bfd7ebf4fe3703352df521931"></a><!-- doxytag: member="lnx-ps2.c::PRESS" ref="a7581da9bfd7ebf4fe3703352df521931" args="(b)" -->
308
<div class="memitem">
309
<div class="memproto">
310
<table class="memname">
312
<td class="memname">#define PRESS</td>
314
<td class="paramtype">b </td>
315
<td class="paramname"></td>
316
<td> ) </td>
322
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
323
enqueue(pDev, ButtonPress, 0, 0, NULL, block); \
324
} <span class="keywordflow">while</span> (0)
328
<a class="anchor" id="a2b4d2480737f9eb52f80998518486f01"></a><!-- doxytag: member="lnx-ps2.c::RELEASE" ref="a2b4d2480737f9eb52f80998518486f01" args="(b)" -->
329
<div class="memitem">
330
<div class="memproto">
331
<table class="memname">
333
<td class="memname">#define RELEASE</td>
335
<td class="paramtype">b </td>
336
<td class="paramname"></td>
337
<td> ) </td>
343
<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keywordflow">do</span> { \
344
enqueue(pDev, ButtonRelease, 0, 0, NULL, block); \
345
} <span class="keywordflow">while</span> (0)
349
<hr/><h2>Typedef Documentation</h2>
350
<a class="anchor" id="a25692217bddf2b6c089525b325afccf1"></a><!-- doxytag: member="lnx-ps2.c::myPrivate" ref="a25692217bddf2b6c089525b325afccf1" args="" -->
351
<div class="memitem">
352
<div class="memproto">
353
<table class="memname">
355
<td class="memname">typedef struct <a class="el" href="struct__myPrivate.html">_myPrivate</a> <a class="el" href="struct__myPrivate.html">myPrivate</a></td>
363
<hr/><h2>Function Documentation</h2>
364
<a class="anchor" id="af3ff29bf7e70049ca978bc8fbff4aab6"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxButton" ref="af3ff29bf7e70049ca978bc8fbff4aab6" args="(DevicePtr pDev, ENQUEUEPROC enqueue, int buttons, BLOCK block)" -->
365
<div class="memitem">
366
<div class="memproto">
367
<table class="memname">
369
<td class="memname">static void ps2LinuxButton </td>
371
<td class="paramtype">DevicePtr </td>
372
<td class="paramname"> <em>pDev</em>, </td>
375
<td class="paramkey"></td>
377
<td class="paramtype">ENQUEUEPROC </td>
378
<td class="paramname"> <em>enqueue</em>, </td>
381
<td class="paramkey"></td>
383
<td class="paramtype">int </td>
384
<td class="paramname"> <em>buttons</em>, </td>
387
<td class="paramkey"></td>
389
<td class="paramtype">BLOCK </td>
390
<td class="paramname"> <em>block</em></td><td> </td>
395
<td></td><td></td><td><code> [static]</code></td>
401
<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, <a class="el" href="lnx-ms_8c.html#a7581da9bfd7ebf4fe3703352df521931">PRESS</a>, and <a class="el" href="lnx-ms_8c.html#a2b4d2480737f9eb52f80998518486f01">RELEASE</a>.</p>
403
<p>Referenced by <a class="el" href="lnx-ps2_8c_source.html#l00179">ps2LinuxRead()</a>.</p>
407
<a class="anchor" id="ab6e438a481e24f8c6ef7d731b8ee4fb8"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxCreatePrivate" ref="ab6e438a481e24f8c6ef7d731b8ee4fb8" args="(DeviceIntPtr pMouse)" -->
408
<div class="memitem">
409
<div class="memproto">
410
<table class="memname">
412
<td class="memname">pointer ps2LinuxCreatePrivate </td>
414
<td class="paramtype">DeviceIntPtr </td>
415
<td class="paramname"> <em>pMouse</em></td>
416
<td> ) </td>
422
<p>Create a private structure for use within this file. </p>
424
<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00178">_myPrivate::fd</a>, and <a class="el" href="lnx-ms_8c_source.html#l00107">_myPrivate::pMouse</a>.</p>
428
<a class="anchor" id="af67bcdd060164de0c3a0d3e69c8483ac"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxDestroyPrivate" ref="af67bcdd060164de0c3a0d3e69c8483ac" args="(pointer priv)" -->
429
<div class="memitem">
430
<div class="memproto">
431
<table class="memname">
433
<td class="memname">void ps2LinuxDestroyPrivate </td>
435
<td class="paramtype">pointer </td>
436
<td class="paramname"> <em>priv</em></td>
437
<td> ) </td>
443
<p>Destroy a private structure. </p>
447
<a class="anchor" id="ab914e24acbae5ce49174e06842ac684b"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxGetInfo" ref="ab914e24acbae5ce49174e06842ac684b" args="(DevicePtr pDev, DMXLocalInitInfoPtr info)" -->
448
<div class="memitem">
449
<div class="memproto">
450
<table class="memname">
452
<td class="memname">void ps2LinuxGetInfo </td>
454
<td class="paramtype">DevicePtr </td>
455
<td class="paramname"> <em>pDev</em>, </td>
458
<td class="paramkey"></td>
460
<td class="paramtype"><a class="el" href="struct__DMXLocalInitInfo.html">DMXLocalInitInfoPtr</a> </td>
461
<td class="paramname"> <em>info</em></td><td> </td>
466
<td></td><td></td><td></td>
471
<p>Fill the <em>info</em> structure with information needed to initialize <em>pDev</em>. </p>
473
<p>References <a class="el" href="dmxinputinit_8h_source.html#l00095">_DMXLocalInitInfo::buttonClass</a>, <a class="el" href="dmxinputinit_8h_source.html#l00097">_DMXLocalInitInfo::map</a>, <a class="el" href="dmxinputinit_8h_source.html#l00107">_DMXLocalInitInfo::maxres</a>, <a class="el" href="dmxinputinit_8h_source.html#l00104">_DMXLocalInitInfo::maxval</a>, <a class="el" href="dmxinputinit_8h_source.html#l00106">_DMXLocalInitInfo::minres</a>, <a class="el" href="dmxinputinit_8h_source.html#l00103">_DMXLocalInitInfo::minval</a>, <a class="el" href="dmxinputinit_8h_source.html#l00096">_DMXLocalInitInfo::numButtons</a>, <a class="el" href="dmxinputinit_8h_source.html#l00101">_DMXLocalInitInfo::numRelAxes</a>, <a class="el" href="lnx-ps2_8c_source.html#l00242">ps2LinuxGetMap()</a>, <a class="el" href="dmxinputinit_8h_source.html#l00115">_DMXLocalInitInfo::ptrFeedbackClass</a>, <a class="el" href="dmxinputinit_8h_source.html#l00105">_DMXLocalInitInfo::res</a>, and <a class="el" href="dmxinputinit_8h_source.html#l00099">_DMXLocalInitInfo::valuatorClass</a>.</p>
477
<a class="anchor" id="a0f65c382ff39d64cd881a919eb566964"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxGetMap" ref="a0f65c382ff39d64cd881a919eb566964" args="(DevicePtr pDev, unsigned char *map, int *nButtons)" -->
478
<div class="memitem">
479
<div class="memproto">
480
<table class="memname">
482
<td class="memname">static void ps2LinuxGetMap </td>
484
<td class="paramtype">DevicePtr </td>
485
<td class="paramname"> <em>pDev</em>, </td>
488
<td class="paramkey"></td>
490
<td class="paramtype">unsigned char * </td>
491
<td class="paramname"> <em>map</em>, </td>
494
<td class="paramkey"></td>
496
<td class="paramtype">int * </td>
497
<td class="paramname"> <em>nButtons</em></td><td> </td>
502
<td></td><td></td><td><code> [static]</code></td>
508
<p>Referenced by <a class="el" href="lnx-ps2_8c_source.html#l00277">ps2LinuxGetInfo()</a>.</p>
512
<a class="anchor" id="aa0f0b690de9e5c3a958909000c7f787d"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxInit" ref="aa0f0b690de9e5c3a958909000c7f787d" args="(DevicePtr pDev)" -->
513
<div class="memitem">
514
<div class="memproto">
515
<table class="memname">
517
<td class="memname">void ps2LinuxInit </td>
519
<td class="paramtype">DevicePtr </td>
520
<td class="paramname"> <em>pDev</em></td>
521
<td> ) </td>
527
<p>Initialize <em>pDev</em>. </p>
529
<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00144">FATAL1</a>, and <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>.</p>
531
<p>Referenced by <a class="el" href="lnx-ps2_8c_source.html#l00225">ps2LinuxOn()</a>.</p>
535
<a class="anchor" id="af955e539213ec85f5b6d5d7b38dae89e"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxOff" ref="af955e539213ec85f5b6d5d7b38dae89e" args="(DevicePtr pDev)" -->
536
<div class="memitem">
537
<div class="memproto">
538
<table class="memname">
540
<td class="memname">void ps2LinuxOff </td>
542
<td class="paramtype">DevicePtr </td>
543
<td class="paramname"> <em>pDev</em></td>
544
<td> ) </td>
550
<p>Turn <em>pDev</em> off (i.e., stop taking input from <em>pDev</em>). </p>
552
<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>.</p>
556
<a class="anchor" id="aaf9aaca79e044d91f072901ad3be1863"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxOn" ref="aaf9aaca79e044d91f072901ad3be1863" args="(DevicePtr pDev)" -->
557
<div class="memitem">
558
<div class="memproto">
559
<table class="memname">
561
<td class="memname">int ps2LinuxOn </td>
563
<td class="paramtype">DevicePtr </td>
564
<td class="paramname"> <em>pDev</em></td>
565
<td> ) </td>
571
<p>Turn <em>pDev</em> on (i.e., take input from <em>pDev</em>). </p>
573
<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, and <a class="el" href="lnx-ps2_8c_source.html#l00208">ps2LinuxInit()</a>.</p>
577
<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)" -->
578
<div class="memitem">
579
<div class="memproto">
580
<table class="memname">
582
<td class="memname">void ps2LinuxRead </td>
584
<td class="paramtype">DevicePtr </td>
585
<td class="paramname"> <em>pDev</em>, </td>
588
<td class="paramkey"></td>
590
<td class="paramtype">MOTIONPROC </td>
591
<td class="paramname"> <em>motion</em>, </td>
594
<td class="paramkey"></td>
596
<td class="paramtype">ENQUEUEPROC </td>
597
<td class="paramname"> <em>enqueue</em>, </td>
600
<td class="paramkey"></td>
602
<td class="paramtype">CHECKPROC </td>
603
<td class="paramname"> <em>checkspecial</em>, </td>
606
<td class="paramkey"></td>
608
<td class="paramtype">BLOCK </td>
609
<td class="paramname"> <em>block</em></td><td> </td>
614
<td></td><td></td><td></td>
619
<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>
621
<p>References <a class="el" href="lnx-keyboard_8c_source.html#l00136">GETPRIV</a>, <a class="el" href="lnx-ps2_8c_source.html#l00140">ps2LinuxButton()</a>, and <a class="el" href="lnx-ps2_8c_source.html#l00115">ps2LinuxReadBytes()</a>.</p>
625
<a class="anchor" id="ad806e9804e49f47d75f252ab0b14c075"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxReadBytes" ref="ad806e9804e49f47d75f252ab0b14c075" args="(int fd, unsigned char *buf, int len, int min)" -->
626
<div class="memitem">
627
<div class="memproto">
628
<table class="memname">
630
<td class="memname">static int ps2LinuxReadBytes </td>
632
<td class="paramtype">int </td>
633
<td class="paramname"> <em>fd</em>, </td>
636
<td class="paramkey"></td>
638
<td class="paramtype">unsigned char * </td>
639
<td class="paramname"> <em>buf</em>, </td>
642
<td class="paramkey"></td>
644
<td class="paramtype">int </td>
645
<td class="paramname"> <em>len</em>, </td>
648
<td class="paramkey"></td>
650
<td class="paramtype">int </td>
651
<td class="paramname"> <em>min</em></td><td> </td>
656
<td></td><td></td><td><code> [static]</code></td>
662
<p>Referenced by <a class="el" href="lnx-ps2_8c_source.html#l00179">ps2LinuxRead()</a>.</p>
666
<a class="anchor" id="a11a5bfc4866f86dfe3ea5acb788c4afe"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxVTPostSwitch" ref="a11a5bfc4866f86dfe3ea5acb788c4afe" args="(pointer p)" -->
667
<div class="memitem">
668
<div class="memproto">
669
<table class="memname">
671
<td class="memname">void ps2LinuxVTPostSwitch </td>
673
<td class="paramtype">pointer </td>
674
<td class="paramname"> <em>p</em></td>
675
<td> ) </td>
681
<p>Currently unused hook called after returning from a VT switch. </p>
685
<a class="anchor" id="a3a9ac063b46a191b38d92881367d74d4"></a><!-- doxytag: member="lnx-ps2.c::ps2LinuxVTPreSwitch" ref="a3a9ac063b46a191b38d92881367d74d4" args="(pointer p)" -->
686
<div class="memitem">
687
<div class="memproto">
688
<table class="memname">
690
<td class="memname">void ps2LinuxVTPreSwitch </td>
692
<td class="paramtype">pointer </td>
693
<td class="paramname"> <em>p</em></td>
694
<td> ) </td>
700
<p>Currently unused hook called prior to an VT switch. </p>
708
Generated June 29, 2004 for <a
709
href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
710
<a href="http://www.doxygen.org/index.html">doxygen</a>