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('dmxinput_8c.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">dmxinput.c File Reference</div>  </div>
42</div>
43<div class="contents">
44<div class="textblock"><code>#include &quot;<a class="el" href="dmx_8h_source.html">dmx.h</a>&quot;</code><br/>
45<code>#include &quot;<a class="el" href="dmxlog_8h_source.html">dmxlog.h</a>&quot;</code><br/>
46<code>#include &quot;<a class="el" href="dmxinput_8h_source.html">dmxinput.h</a>&quot;</code><br/>
47<code>#include &quot;inputstr.h&quot;</code><br/>
48<code>#include &quot;input.h&quot;</code><br/>
49<code>#include &quot;mi.h&quot;</code><br/>
50</div><table class="memberdecls">
51<tr><td colspan="2"><h2><a name="func-members"></a>
52Functions</h2></td></tr>
53<tr><td class="memItemLeft" align="right" valign="top">Bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxinput_8c.html#a794cad8ab41d42457e19090e38c5b338">LegalModifier</a> (unsigned int key, DeviceIntPtr pDev)</td></tr>
54<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxinput_8c.html#a1ffd49de15b6ee0cafe5e83740c7a316">InitInput</a> (int argc, char **argv)</td></tr>
55<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxinput_8c.html#a4f9d470e1f20101d9951d1dfcdca7d4e">CloseInput</a> (void)</td></tr>
56<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxinput_8c.html#acf517b24d6b846578e70c059b4afcb1b">ProcessInputEvents</a> (void)</td></tr>
57<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxinput_8c.html#a122b762a283b031348730294d3aa1319">dmxUpdateWindowInfo</a> (<a class="el" href="dmxinput_8h.html#ae16d9134720b35da8f258db9a1c039a8">DMXUpdateType</a> type, WindowPtr pWindow)</td></tr>
58<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxinput_8c.html#a8e64d097682947120de17cf9ff43586a">NewInputDeviceRequest</a> (InputOption *options, InputAttributes *attrs, DeviceIntPtr *pdev)</td></tr>
59<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dmxinput_8c.html#aad5437e77e383efb20d0720f2afe863a">DeleteInputDeviceRequest</a> (DeviceIntPtr pDev)</td></tr>
60</table>
61<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
62<div class="textblock"><p>Provide the main entry points for input initialization and processing that arequired by the dix layer. </p>
63</div><hr/><h2>Function Documentation</h2>
64<a class="anchor" id="a4f9d470e1f20101d9951d1dfcdca7d4e"></a><!-- doxytag: member="dmxinput.c::CloseInput" ref="a4f9d470e1f20101d9951d1dfcdca7d4e" args="(void)" -->
65<div class="memitem">
66<div class="memproto">
67      <table class="memname">
68        <tr>
69          <td class="memname">void CloseInput </td>
70          <td>(</td>
71          <td class="paramtype">void&#160;</td>
72          <td class="paramname"></td><td>)</td>
73          <td></td>
74        </tr>
75      </table>
76</div>
77<div class="memdoc">
78
79</div>
80</div>
81<a class="anchor" id="aad5437e77e383efb20d0720f2afe863a"></a><!-- doxytag: member="dmxinput.c::DeleteInputDeviceRequest" ref="aad5437e77e383efb20d0720f2afe863a" args="(DeviceIntPtr pDev)" -->
82<div class="memitem">
83<div class="memproto">
84      <table class="memname">
85        <tr>
86          <td class="memname">void DeleteInputDeviceRequest </td>
87          <td>(</td>
88          <td class="paramtype">DeviceIntPtr&#160;</td>
89          <td class="paramname"><em>pDev</em></td><td>)</td>
90          <td></td>
91        </tr>
92      </table>
93</div>
94<div class="memdoc">
95
96</div>
97</div>
98<a class="anchor" id="a122b762a283b031348730294d3aa1319"></a><!-- doxytag: member="dmxinput.c::dmxUpdateWindowInfo" ref="a122b762a283b031348730294d3aa1319" args="(DMXUpdateType type, WindowPtr pWindow)" -->
99<div class="memitem">
100<div class="memproto">
101      <table class="memname">
102        <tr>
103          <td class="memname">void dmxUpdateWindowInfo </td>
104          <td>(</td>
105          <td class="paramtype"><a class="el" href="dmxinput_8h.html#ae16d9134720b35da8f258db9a1c039a8">DMXUpdateType</a>&#160;</td>
106          <td class="paramname"><em>type</em>, </td>
107        </tr>
108        <tr>
109          <td class="paramkey"></td>
110          <td></td>
111          <td class="paramtype">WindowPtr&#160;</td>
112          <td class="paramname"><em>pWindow</em>&#160;</td>
113        </tr>
114        <tr>
115          <td></td>
116          <td>)</td>
117          <td></td><td></td>
118        </tr>
119      </table>
120</div>
121<div class="memdoc">
122<p>This routine is called from <em><a class="el" href="dmxwindow_8c.html">dmxwindow.c</a></em> whenever the layout of windows on the display might have changed. This information is used by input drivers (currently only the console driver) that provide information about window layout to the user. </p>
123
124<p>References <a class="el" href="struct__DMXInputInfo.html#a0341ff4f1c3424c95e28aac6f80163bb">_DMXInputInfo::detached</a>, <a class="el" href="dmxinit_8c.html#a067017d9e67716c251357e9edf917e59">dmxInputs</a>, <a class="el" href="dmxinit_8c.html#a7c8f7f00098aec51d56c188a26747d9f">dmxNumInputs</a>, and <a class="el" href="struct__DMXInputInfo.html#ad4a7bc0976bf853d45ea5043a66ade55">_DMXInputInfo::updateWindowInfo</a>.</p>
125
126<p>Referenced by <a class="el" href="dmxwindow_8h.html#ad78bdba42db62285cf174f072a63a81a">dmxCopyWindow()</a>, <a class="el" href="dmxwindow_8h.html#ac75f5d6332a78eeac4e0e185cf326045">dmxRealizeWindow()</a>, <a class="el" href="dmxwindow_8h.html#ab07d7010858aa078f26396f420fdea8c">dmxReparentWindow()</a>, <a class="el" href="dmxwindow_8h.html#ac3811e381fef200b5cd3207478df66e1">dmxResizeWindow()</a>, <a class="el" href="dmxwindow_8h.html#a21e147f295faee8e53eb162071dc66ad">dmxRestackWindow()</a>, and <a class="el" href="dmxwindow_8h.html#aeab9f468cc2c9374658213ee90a234a0">dmxUnrealizeWindow()</a>.</p>
127
128</div>
129</div>
130<a class="anchor" id="a1ffd49de15b6ee0cafe5e83740c7a316"></a><!-- doxytag: member="dmxinput.c::InitInput" ref="a1ffd49de15b6ee0cafe5e83740c7a316" args="(int argc, char **argv)" -->
131<div class="memitem">
132<div class="memproto">
133      <table class="memname">
134        <tr>
135          <td class="memname">void InitInput </td>
136          <td>(</td>
137          <td class="paramtype">int&#160;</td>
138          <td class="paramname"><em>argc</em>, </td>
139        </tr>
140        <tr>
141          <td class="paramkey"></td>
142          <td></td>
143          <td class="paramtype">char **&#160;</td>
144          <td class="paramname"><em>argv</em>&#160;</td>
145        </tr>
146        <tr>
147          <td></td>
148          <td>)</td>
149          <td></td><td></td>
150        </tr>
151      </table>
152</div>
153<div class="memdoc">
154<p>Called from dix/main.c on each server generation to initialize inputs. All the work is done in dmxInputInit. </p>
155<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dmxinput_8h.html#a5845f0dbf305a8a233d3747489745faa">dmxInputInit()</a> </dd></dl>
156
157<p>References <a class="el" href="dmxlog_8h.html#aeed612a5c0be196e23bd6b71b76b917fa4d84ad320675a046536d76c0820abc70">dmxFatal</a>, <a class="el" href="dmxinput_8h.html#a5845f0dbf305a8a233d3747489745faa">dmxInputInit()</a>, <a class="el" href="dmxinit_8c.html#a067017d9e67716c251357e9edf917e59">dmxInputs</a>, <a class="el" href="dmxlog_8c.html#ab6259430a57c3cffdfc9f6259df0ad23">dmxLog()</a>, and <a class="el" href="dmxinit_8c.html#a7c8f7f00098aec51d56c188a26747d9f">dmxNumInputs</a>.</p>
158
159</div>
160</div>
161<a class="anchor" id="a794cad8ab41d42457e19090e38c5b338"></a><!-- doxytag: member="dmxinput.c::LegalModifier" ref="a794cad8ab41d42457e19090e38c5b338" args="(unsigned int key, DeviceIntPtr pDev)" -->
162<div class="memitem">
163<div class="memproto">
164      <table class="memname">
165        <tr>
166          <td class="memname">Bool LegalModifier </td>
167          <td>(</td>
168          <td class="paramtype">unsigned int&#160;</td>
169          <td class="paramname"><em>key</em>, </td>
170        </tr>
171        <tr>
172          <td class="paramkey"></td>
173          <td></td>
174          <td class="paramtype">DeviceIntPtr&#160;</td>
175          <td class="paramname"><em>pDev</em>&#160;</td>
176        </tr>
177        <tr>
178          <td></td>
179          <td>)</td>
180          <td></td><td></td>
181        </tr>
182      </table>
183</div>
184<div class="memdoc">
185<p>Returns TRUE if the key is a valid modifier. For PC-class keyboards, all keys can be used as modifiers, so return TRUE always. </p>
186
187</div>
188</div>
189<a class="anchor" id="a8e64d097682947120de17cf9ff43586a"></a><!-- doxytag: member="dmxinput.c::NewInputDeviceRequest" ref="a8e64d097682947120de17cf9ff43586a" args="(InputOption *options, InputAttributes *attrs, DeviceIntPtr *pdev)" -->
190<div class="memitem">
191<div class="memproto">
192      <table class="memname">
193        <tr>
194          <td class="memname">int NewInputDeviceRequest </td>
195          <td>(</td>
196          <td class="paramtype">InputOption *&#160;</td>
197          <td class="paramname"><em>options</em>, </td>
198        </tr>
199        <tr>
200          <td class="paramkey"></td>
201          <td></td>
202          <td class="paramtype">InputAttributes *&#160;</td>
203          <td class="paramname"><em>attrs</em>, </td>
204        </tr>
205        <tr>
206          <td class="paramkey"></td>
207          <td></td>
208          <td class="paramtype">DeviceIntPtr *&#160;</td>
209          <td class="paramname"><em>pdev</em>&#160;</td>
210        </tr>
211        <tr>
212          <td></td>
213          <td>)</td>
214          <td></td><td></td>
215        </tr>
216      </table>
217</div>
218<div class="memdoc">
219
220</div>
221</div>
222<a class="anchor" id="acf517b24d6b846578e70c059b4afcb1b"></a><!-- doxytag: member="dmxinput.c::ProcessInputEvents" ref="acf517b24d6b846578e70c059b4afcb1b" args="(void)" -->
223<div class="memitem">
224<div class="memproto">
225      <table class="memname">
226        <tr>
227          <td class="memname">void ProcessInputEvents </td>
228          <td>(</td>
229          <td class="paramtype">void&#160;</td>
230          <td class="paramname"></td><td>)</td>
231          <td></td>
232        </tr>
233      </table>
234</div>
235<div class="memdoc">
236<p>Called from dix/dispatch.c in Dispatch() whenever input events require processing. All the work is done in the lower level routines. </p>
237
238<p>References <a class="el" href="struct__DMXInputInfo.html#a0341ff4f1c3424c95e28aac6f80163bb">_DMXInputInfo::detached</a>, <a class="el" href="dmxinit_8c.html#a067017d9e67716c251357e9edf917e59">dmxInputs</a>, <a class="el" href="dmxinit_8c.html#a7c8f7f00098aec51d56c188a26747d9f">dmxNumInputs</a>, and <a class="el" href="struct__DMXInputInfo.html#a4e91aaec0f0cbcd0d7e2896ac918c667">_DMXInputInfo::processInputEvents</a>.</p>
239
240<p>Referenced by <a class="el" href="dmxevents_8c.html#adf2928cf693dab61adafad503e81d2dc">dmxCoreMotion()</a>.</p>
241
242</div>
243</div>
244</div>
245</div>
246  <div id="nav-path" class="navpath">
247    <ul>
248      <li class="navelem"><a class="el" href="dmxinput_8c.html">dmxinput.c</a>      </li>
249    <hr>
250    <address>
251      <small>
252        Generated June 29, 2004 for <a
253        href="http://dmx.sourceforge.net">Distributed Multihead X</a> by
254        <a href="http://www.doxygen.org/index.html">doxygen</a>
255        1.3.4.
256      </small>
257    </addres>
258    </hr>
259  </body>
260</html>
261