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 Page</span></a></li> 13 <li><a href="annotated.html"><span>Data 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 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 "<a class="el" href="dmx_8h_source.html">dmx.h</a>"</code><br/> 45<code>#include "<a class="el" href="dmxlog_8h_source.html">dmxlog.h</a>"</code><br/> 46<code>#include "<a class="el" href="dmxinput_8h_source.html">dmxinput.h</a>"</code><br/> 47<code>#include "inputstr.h"</code><br/> 48<code>#include "input.h"</code><br/> 49<code>#include "mi.h"</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 </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 </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 </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 </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 </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 </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 </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 </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 </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> </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 </td> 112 <td class="paramname"><em>pWindow</em> </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 </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 ** </td> 144 <td class="paramname"><em>argv</em> </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 </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 </td> 175 <td class="paramname"><em>pDev</em> </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 * </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 * </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 * </td> 209 <td class="paramname"><em>pdev</em> </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 </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