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('dmxmap_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">dmxmap.c File Reference</div> </div> 42</div> 43<div class="contents"> 44<div class="textblock"><code>#include "<a class="el" href="dmxinputinit_8h_source.html">dmxinputinit.h</a>"</code><br/> 45<code>#include "<a class="el" href="dmxmap_8h_source.html">dmxmap.h</a>"</code><br/> 46</div><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">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxmap_8c.html#ada5a28e0c746708e0f5c45e9e193d907">dmxMapInsert</a> (<a class="el" href="struct__DMXLocalInputInfo.html">DMXLocalInputInfoPtr</a> dmxLocal, int remoteEvent, int serverEvent)</td></tr> 50<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxmap_8c.html#a27107d43f96e7c09241d7ef0b5e9c0f5">dmxMapClear</a> (<a class="el" href="struct__DMXLocalInputInfo.html">DMXLocalInputInfoPtr</a> dmxLocal)</td></tr> 51<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="dmxmap_8c.html#abc1a46c87c4acd45e4e5f79370be6169">dmxMapLookup</a> (<a class="el" href="struct__DMXLocalInputInfo.html">DMXLocalInputInfoPtr</a> dmxLocal, int remoteEvent)</td></tr> 52</table> 53<hr/><a name="details" id="details"></a><h2>Detailed Description</h2> 54<div class="textblock"><p>This file implements a mapping from remote XInput event types to Xdmx XInput event types.</p> 55<p>The exglobals.h file defines global server-side variables with names Device* to be integers that hold the value of the type of the server-side XInput extension event.</p> 56<p>The client-side X11/extensions/XInput.h file defines macros with THE EXACT SAME Device* names!</p> 57<p>Using those macros to extract remote server event type values from the (opaque) XDevice structure is appropriate, but makes a direct mapping to the Device* integers impossible. So we use the normalized XI_Device* names for these routines. </p> 58</div><hr/><h2>Function Documentation</h2> 59<a class="anchor" id="a27107d43f96e7c09241d7ef0b5e9c0f5"></a><!-- doxytag: member="dmxmap.c::dmxMapClear" ref="a27107d43f96e7c09241d7ef0b5e9c0f5" args="(DMXLocalInputInfoPtr dmxLocal)" --> 60<div class="memitem"> 61<div class="memproto"> 62 <table class="memname"> 63 <tr> 64 <td class="memname">void dmxMapClear </td> 65 <td>(</td> 66 <td class="paramtype"><a class="el" href="struct__DMXLocalInputInfo.html">DMXLocalInputInfoPtr</a> </td> 67 <td class="paramname"><em>dmxLocal</em></td><td>)</td> 68 <td></td> 69 </tr> 70 </table> 71</div> 72<div class="memdoc"> 73<p>Remove all mappings there were inserted with <a class="el" href="dmxmap_8h.html#ada5a28e0c746708e0f5c45e9e193d907">dmxMapInsert</a>. </p> 74 75<p>References <a class="el" href="dmxinputinit_8h.html#a13002c58c62fa0d9c65076f22c4df452">DMX_MAP_ENTRIES</a>, <a class="el" href="struct__DMXLocalInputInfo.html#af8ea073e34c4e927f7f887603aaba17d">_DMXLocalInputInfo::map</a>, <a class="el" href="struct__DMXLocalInputInfo.html#a5595cf8656f17bceb30699a6d215afa5">_DMXLocalInputInfo::mapOptimize</a>, and <a class="el" href="struct__DMXEventMap.html#aafea1b880cf1b362c7e600b4285c08c3">_DMXEventMap::remote</a>.</p> 76 77</div> 78</div> 79<a class="anchor" id="ada5a28e0c746708e0f5c45e9e193d907"></a><!-- doxytag: member="dmxmap.c::dmxMapInsert" ref="ada5a28e0c746708e0f5c45e9e193d907" args="(DMXLocalInputInfoPtr dmxLocal, int remoteEvent, int serverEvent)" --> 80<div class="memitem"> 81<div class="memproto"> 82 <table class="memname"> 83 <tr> 84 <td class="memname">void dmxMapInsert </td> 85 <td>(</td> 86 <td class="paramtype"><a class="el" href="struct__DMXLocalInputInfo.html">DMXLocalInputInfoPtr</a> </td> 87 <td class="paramname"><em>dmxLocal</em>, </td> 88 </tr> 89 <tr> 90 <td class="paramkey"></td> 91 <td></td> 92 <td class="paramtype">int </td> 93 <td class="paramname"><em>remoteEvent</em>, </td> 94 </tr> 95 <tr> 96 <td class="paramkey"></td> 97 <td></td> 98 <td class="paramtype">int </td> 99 <td class="paramname"><em>serverEvent</em> </td> 100 </tr> 101 <tr> 102 <td></td> 103 <td>)</td> 104 <td></td><td></td> 105 </tr> 106 </table> 107</div> 108<div class="memdoc"> 109<p>Create a mapping from <em>remoteEvent</em> to <em>serverEvent</em>. The <em>remoteEvent</em> is the type returned from the remote server. The <em>serverEvent</em> is from the XI_* list of events in include/extensions/XIproto.h. </p> 110 111<p>References <a class="el" href="dmxinputinit_8h.html#a13002c58c62fa0d9c65076f22c4df452">DMX_MAP_ENTRIES</a>, <a class="el" href="dmxinputinit_8h.html#a51a3f23fde19e452c34d472758710b90">DMX_MAP_MASK</a>, <a class="el" href="dmxlog_8c.html#ab6259430a57c3cffdfc9f6259df0ad23">dmxLog()</a>, <a class="el" href="dmxlog_8h.html#aeed612a5c0be196e23bd6b71b76b917fae81ae2a11fb7ab8eea902f609574210a">dmxWarning</a>, <a class="el" href="struct__DMXLocalInputInfo.html#af8ea073e34c4e927f7f887603aaba17d">_DMXLocalInputInfo::map</a>, <a class="el" href="struct__DMXLocalInputInfo.html#a5595cf8656f17bceb30699a6d215afa5">_DMXLocalInputInfo::mapOptimize</a>, <a class="el" href="struct__DMXEventMap.html#aafea1b880cf1b362c7e600b4285c08c3">_DMXEventMap::remote</a>, and <a class="el" href="struct__DMXEventMap.html#a6f3626351411d6a9555a16969761ec17">_DMXEventMap::server</a>.</p> 112 113</div> 114</div> 115<a class="anchor" id="abc1a46c87c4acd45e4e5f79370be6169"></a><!-- doxytag: member="dmxmap.c::dmxMapLookup" ref="abc1a46c87c4acd45e4e5f79370be6169" args="(DMXLocalInputInfoPtr dmxLocal, int remoteEvent)" --> 116<div class="memitem"> 117<div class="memproto"> 118 <table class="memname"> 119 <tr> 120 <td class="memname">int dmxMapLookup </td> 121 <td>(</td> 122 <td class="paramtype"><a class="el" href="struct__DMXLocalInputInfo.html">DMXLocalInputInfoPtr</a> </td> 123 <td class="paramname"><em>dmxLocal</em>, </td> 124 </tr> 125 <tr> 126 <td class="paramkey"></td> 127 <td></td> 128 <td class="paramtype">int </td> 129 <td class="paramname"><em>remoteEvent</em> </td> 130 </tr> 131 <tr> 132 <td></td> 133 <td>)</td> 134 <td></td><td></td> 135 </tr> 136 </table> 137</div> 138<div class="memdoc"> 139<p>Lookup a mapping for <em>remoteEvent</em>. The <em>remoteEvent</em> is the type returned from the remote server. The return value is that which was passed into <a class="el" href="dmxmap_8h.html#ada5a28e0c746708e0f5c45e9e193d907">dmxMapInsert</a> (i.e., a value from the XI_* list in include/extensions/XIproto.h). If a mapping is not available, -1 is returned. </p> 140 141<p>References <a class="el" href="dmxinputinit_8h.html#a13002c58c62fa0d9c65076f22c4df452">DMX_MAP_ENTRIES</a>, <a class="el" href="dmxinputinit_8h.html#a51a3f23fde19e452c34d472758710b90">DMX_MAP_MASK</a>, <a class="el" href="struct__DMXLocalInputInfo.html#af8ea073e34c4e927f7f887603aaba17d">_DMXLocalInputInfo::map</a>, <a class="el" href="struct__DMXLocalInputInfo.html#a5595cf8656f17bceb30699a6d215afa5">_DMXLocalInputInfo::mapOptimize</a>, <a class="el" href="struct__DMXEventMap.html#aafea1b880cf1b362c7e600b4285c08c3">_DMXEventMap::remote</a>, and <a class="el" href="struct__DMXEventMap.html#a6f3626351411d6a9555a16969761ec17">_DMXEventMap::server</a>.</p> 142 143<p>Referenced by <a class="el" href="dmxevents_8c.html#ae0083a2b1547708473cbc75ebf0006ae">dmxTranslateAndEnqueueExtEvent()</a>.</p> 144 145</div> 146</div> 147</div> 148</div> 149 <div id="nav-path" class="navpath"> 150 <ul> 151 <li class="navelem"><a class="el" href="dmxmap_8c.html">dmxmap.c</a> </li> 152 <hr> 153 <address> 154 <small> 155 Generated June 29, 2004 for <a 156 href="http://dmx.sourceforge.net">Distributed Multihead X</a> by 157 <a href="http://www.doxygen.org/index.html">doxygen</a> 158 1.3.4. 159 </small> 160 </addres> 161 </hr> 162 </body> 163</html> 164