<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crystal Space 1.2.1: iutil/evdefs.h Source File (Crystal Space 1.2.1 Public API Reference)</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="head"> <tr height="59"> <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td> <td class="head"><h2>Public API Reference</h2></td> </tr> <tr height="11"> <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td> </tr> </table> <div class="content"> <!-- Generated by Doxygen 1.5.3 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="classes.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <h1>iutil/evdefs.h</h1><a href="evdefs_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> <a name="l00002"></a>00002 <span class="comment"> Event system related interfaces</span> <a name="l00003"></a>00003 <span class="comment"> Written by Andrew Zabolotny <bit@eltech.ru></span> <a name="l00004"></a>00004 <span class="comment"></span> <a name="l00005"></a>00005 <span class="comment"> This library is free software; you can redistribute it and/or</span> <a name="l00006"></a>00006 <span class="comment"> modify it under the terms of the GNU Library General Public</span> <a name="l00007"></a>00007 <span class="comment"> License as published by the Free Software Foundation; either</span> <a name="l00008"></a>00008 <span class="comment"> version 2 of the License, or (at your option) any later version.</span> <a name="l00009"></a>00009 <span class="comment"></span> <a name="l00010"></a>00010 <span class="comment"> This library is distributed in the hope that it will be useful,</span> <a name="l00011"></a>00011 <span class="comment"> but WITHOUT ANY WARRANTY; without even the implied warranty of</span> <a name="l00012"></a>00012 <span class="comment"> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span> <a name="l00013"></a>00013 <span class="comment"> Library General Public License for more details.</span> <a name="l00014"></a>00014 <span class="comment"></span> <a name="l00015"></a>00015 <span class="comment"> You should have received a copy of the GNU Library General Public</span> <a name="l00016"></a>00016 <span class="comment"> License along with this library; if not, write to the Free</span> <a name="l00017"></a>00017 <span class="comment"> Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</span> <a name="l00018"></a>00018 <span class="comment">*/</span> <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="comment">/*</span> <a name="l00021"></a>00021 <span class="comment"> *WARNING*</span> <a name="l00022"></a>00022 <span class="comment"> This file must contain only plain-C code. Do _not_ insert C++ code.</span> <a name="l00023"></a>00023 <span class="comment"> This file is imported by non-C++ system driver implementations.</span> <a name="l00024"></a>00024 <span class="comment"></span> <a name="l00025"></a>00025 <span class="comment"> Unfortunately, given the way the new event system works, this means</span> <a name="l00026"></a>00026 <span class="comment"> a lot of things that used to be macros and static values that went</span> <a name="l00027"></a>00027 <span class="comment"> here are now (fundamentally) C++ method invocations. Since most of </span> <a name="l00028"></a>00028 <span class="comment"> these are event names which are only really useful in conjunction </span> <a name="l00029"></a>00029 <span class="comment"> with C++ event creation, subscription, and scheduling interfaces </span> <a name="l00030"></a>00030 <span class="comment"> anyway, they have largely moved to csutil/eventnames.h.</span> <a name="l00031"></a>00031 <span class="comment">*/</span> <a name="l00032"></a>00032 <a name="l00041"></a>00041 <span class="preprocessor">#ifndef __CS_IUTIL_EVDEFS_H__</span> <a name="l00042"></a>00042 <span class="preprocessor"></span><span class="preprocessor">#define __CS_IUTIL_EVDEFS_H__</span> <a name="l00043"></a>00043 <span class="preprocessor"></span> <a name="l00045"></a><a class="code" href="group__event__handling.html#g4509f7c5550c5c380987029076adabfa">00045</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="group__event__handling.html#g4509f7c5550c5c380987029076adabfa" title="Keyboard event type - stored as keyEventType attribute in keyboard events.">_csKeyEventType</a> <a name="l00046"></a>00046 { <a name="l00048"></a><a class="code" href="group__event__handling.html#gg4509f7c5550c5c380987029076adabfa86b04641d83cd89759fe909fa3bc9468">00048</a> <a class="code" href="group__event__handling.html#gg4509f7c5550c5c380987029076adabfa86b04641d83cd89759fe909fa3bc9468" title="A &#39;key up&#39; event.">csKeyEventTypeUp</a> = 0, <a name="l00050"></a><a class="code" href="group__event__handling.html#gg4509f7c5550c5c380987029076adabfac9870ba1122273204ef3e1d463af103b">00050</a> <a class="code" href="group__event__handling.html#gg4509f7c5550c5c380987029076adabfac9870ba1122273204ef3e1d463af103b" title="A &#39;key down&#39; event.">csKeyEventTypeDown</a> <a name="l00051"></a>00051 } <a class="code" href="group__event__handling.html#ge77b5898945ed86046a25788a491cb4e" title="Keyboard event type - stored as keyEventType attribute in keyboard events.">csKeyEventType</a>; <a name="l00052"></a>00052 <a name="l00054"></a><a class="code" href="group__event__handling.html#gc879068928a72110a0981ea3907c0619">00054</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="group__event__handling.html#gc879068928a72110a0981ea3907c0619" title="Mouse event type - stored as mEventType attribute in mouse events.">_csMouseEventType</a> <a name="l00055"></a>00055 { <a name="l00057"></a><a class="code" href="group__event__handling.html#ggc879068928a72110a0981ea3907c06197087fd363a1d8a8702707cad64aab2b4">00057</a> <a class="code" href="group__event__handling.html#ggc879068928a72110a0981ea3907c06197087fd363a1d8a8702707cad64aab2b4" title="A motion event.">csMouseEventTypeMove</a> = 0, <a name="l00059"></a><a class="code" href="group__event__handling.html#ggc879068928a72110a0981ea3907c0619d610cfa2eb9206dcae847b30ba530bed">00059</a> <a class="code" href="group__event__handling.html#ggc879068928a72110a0981ea3907c0619d610cfa2eb9206dcae847b30ba530bed" title="A &#39;button up&#39; event.">csMouseEventTypeUp</a>, <a name="l00061"></a><a class="code" href="group__event__handling.html#ggc879068928a72110a0981ea3907c0619263db8146c5f86ba87553df21bfb8874">00061</a> <a class="code" href="group__event__handling.html#ggc879068928a72110a0981ea3907c0619263db8146c5f86ba87553df21bfb8874" title="A &#39;button down&#39; event.">csMouseEventTypeDown</a>, <a name="l00063"></a><a class="code" href="group__event__handling.html#ggc879068928a72110a0981ea3907c06198e8cb78961d8664378b9ed47696868bc">00063</a> <a class="code" href="group__event__handling.html#ggc879068928a72110a0981ea3907c06198e8cb78961d8664378b9ed47696868bc" title="A &#39;click&#39; event.">csMouseEventTypeClick</a>, <a name="l00065"></a><a class="code" href="group__event__handling.html#ggc879068928a72110a0981ea3907c06195e15121d616f34ddd96a6f3081fddf6b">00065</a> <a class="code" href="group__event__handling.html#ggc879068928a72110a0981ea3907c06195e15121d616f34ddd96a6f3081fddf6b" title="A &#39;doubleclick&#39; event.">csMouseEventTypeDoubleClick</a> <a name="l00066"></a>00066 } <a class="code" href="group__event__handling.html#g876689e689d4e712a992b821b1ee4f77" title="Mouse event type - stored as mEventType attribute in mouse events.">csMouseEventType</a>; <a name="l00067"></a>00067 <a name="l00073"></a><a class="code" href="group__event__handling.html#g7854bad75e3944e68ab354eceebd8ef4">00073</a> <span class="keyword">enum</span> <a class="code" href="group__event__handling.html#g7854bad75e3944e68ab354eceebd8ef4" title="Constants for mouse buttons.">csMouseButton</a> <a name="l00074"></a>00074 { <a name="l00076"></a><a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef464211685c925262a0ebd651866cc32f5">00076</a> <a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef464211685c925262a0ebd651866cc32f5" title="ID to designate the absence of an acting mouse button.">csmbNone</a> = -1, <a name="l00078"></a><a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef4730b4a431bb9dc2dc33626a7a0e3d543">00078</a> <a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef4730b4a431bb9dc2dc33626a7a0e3d543" title="Left button.">csmbLeft</a> = 0, <a name="l00080"></a><a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef46f1ff79b4b0abb30cb500df3fe8e29d6">00080</a> <a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef46f1ff79b4b0abb30cb500df3fe8e29d6" title="Right button.">csmbRight</a> = 1, <a name="l00082"></a><a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef407f10c93019db86e1b1fefbbb1c71d3f">00082</a> <a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef407f10c93019db86e1b1fefbbb1c71d3f" title="Middle button.">csmbMiddle</a> = 2, <a name="l00084"></a><a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef4bcf733ef0bf50b4bede2cf403fc73697">00084</a> <a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef4bcf733ef0bf50b4bede2cf403fc73697" title="Wheel was scrolled up.">csmbWheelUp</a> = 3, <a name="l00086"></a><a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef4b6176e868a7e400d76e084c0c688b912">00086</a> <a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef4b6176e868a7e400d76e084c0c688b912" title="Wheel was scrolled down.">csmbWheelDown</a> = 4, <a name="l00088"></a><a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef42137838bb94bcc178ac840727e6a3787">00088</a> <a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef42137838bb94bcc178ac840727e6a3787" title="Thumb button 1 (e.g. on 5-button mice).">csmbExtra1</a> = 5, <a name="l00090"></a><a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef480762a53bd2a5231de33e4ddc03a93ac">00090</a> <a class="code" href="group__event__handling.html#gg7854bad75e3944e68ab354eceebd8ef480762a53bd2a5231de33e4ddc03a93ac" title="Thumb button 2 (e.g. on 5-button mice).">csmbExtra2</a> = 6 <a name="l00091"></a>00091 }; <a name="l00092"></a>00092 <a name="l00098"></a>00098 <a name="l00099"></a><a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f284">00099</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f284" title="Modifier types.">_csKeyModifierType</a> <a name="l00100"></a>00100 { <a name="l00102"></a><a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f284771de24ae5026eb2160fc869bb0808fd">00102</a> <a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f284771de24ae5026eb2160fc869bb0808fd" title="&#39;Shift&#39; is held">csKeyModifierTypeShift</a> = 0, <a name="l00104"></a><a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f2842e8b1c927a59a0fd43b7894ba1f1be93">00104</a> <a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f2842e8b1c927a59a0fd43b7894ba1f1be93" title="&#39;Ctrl&#39; is held">csKeyModifierTypeCtrl</a>, <a name="l00106"></a><a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f284fbe47871afd23bc09433525811a9b084">00106</a> <a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f284fbe47871afd23bc09433525811a9b084" title="&#39;Alt&#39; is held">csKeyModifierTypeAlt</a>, <a name="l00108"></a><a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f2842f7e2e87bd012ce7a55b1d455b7280af">00108</a> <a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f2842f7e2e87bd012ce7a55b1d455b7280af" title="&#39;CapsLock&#39; is toggled">csKeyModifierTypeCapsLock</a>, <a name="l00110"></a><a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f284becfdeef6a24f461a5d109730904e491">00110</a> <a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f284becfdeef6a24f461a5d109730904e491" title="&#39;NumLock&#39; is toggled">csKeyModifierTypeNumLock</a>, <a name="l00112"></a><a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f284bdecc70c3e9b0ac8da270f6fe2fc6c9b">00112</a> <a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f284bdecc70c3e9b0ac8da270f6fe2fc6c9b" title="&#39;ScrollLock&#39; is toggled">csKeyModifierTypeScrollLock</a>, <a name="l00113"></a>00113 <a name="l00117"></a><a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f2843647ca8408df1a6f6aa8be2ed11b06ce">00117</a> <a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f2843647ca8408df1a6f6aa8be2ed11b06ce">csKeyModifierTypeLast</a> <a name="l00118"></a>00118 } <a class="code" href="evdefs_8h.html#c86e95aa6cc3a5946fd256043175f71f" title="Modifier types.">csKeyModifierType</a>; <a name="l00119"></a>00119 <a name="l00121"></a><a class="code" href="evdefs_8h.html#0768a4bea2903e98b943d6ec82ed3c07">00121</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="evdefs_8h.html#0768a4bea2903e98b943d6ec82ed3c07" title="Modifier numbers.">_csKeyModifierNumType</a> <a name="l00122"></a>00122 { <a name="l00124"></a><a class="code" href="evdefs_8h.html#0768a4bea2903e98b943d6ec82ed3c070e155434e4af3a5f6d10437abb12c6ac">00124</a> <a class="code" href="evdefs_8h.html#0768a4bea2903e98b943d6ec82ed3c070e155434e4af3a5f6d10437abb12c6ac" title="The default number for a &#39;left&#39; version of a key.">csKeyModifierNumLeft</a> = 0, <a name="l00126"></a><a class="code" href="evdefs_8h.html#0768a4bea2903e98b943d6ec82ed3c071f3c4ca798117271e08a6d2a136bbef4">00126</a> <a class="code" href="evdefs_8h.html#0768a4bea2903e98b943d6ec82ed3c071f3c4ca798117271e08a6d2a136bbef4" title="The default number for a &#39;right&#39; version of a key.">csKeyModifierNumRight</a>, <a name="l00127"></a>00127 <a name="l00132"></a><a class="code" href="evdefs_8h.html#0768a4bea2903e98b943d6ec82ed3c07752642a33ec6695936599e24f6d49ad8">00132</a> <a class="code" href="evdefs_8h.html#0768a4bea2903e98b943d6ec82ed3c07752642a33ec6695936599e24f6d49ad8" title="&#39;Magic&#39; modifier number used if there shouldn&#39;t be distinguished between...">csKeyModifierNumAny</a> = 0x1f <a name="l00133"></a>00133 } <a class="code" href="evdefs_8h.html#d8718bff9baa98437e56a13227096d83" title="Modifier numbers.">csKeyModifierNumType</a>; <a name="l00134"></a>00134 <a name="l00136"></a><a class="code" href="struct__csKeyModifiers.html">00136</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__csKeyModifiers.html" title="Flags for all currently pressed modifiers.">_csKeyModifiers</a> <a name="l00137"></a>00137 { <a name="l00154"></a><a class="code" href="struct__csKeyModifiers.html#41ed4c2a59343849150ffe2e0e503dac">00154</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="struct__csKeyModifiers.html#41ed4c2a59343849150ffe2e0e503dac" title="Bitmasks for different modifiers.">modifiers</a>[<a class="code" href="evdefs_8h.html#912eb0936bd273cd2364621a21b1f2843647ca8408df1a6f6aa8be2ed11b06ce">csKeyModifierTypeLast</a>]; <a name="l00155"></a>00155 } <a class="code" href="struct__csKeyModifiers.html" title="Flags for all currently pressed modifiers.">csKeyModifiers</a>; <a name="l00164"></a>00164 <a name="l00165"></a><a class="code" href="evdefs_8h.html#913a1f2e0660f96e2800e35cda781f52">00165</a> <span class="preprocessor">#define CSMASK_SHIFT (1 << csKeyModifierTypeShift)</span> <a name="l00167"></a><a class="code" href="evdefs_8h.html#2e1ee9892a1018949fac332fde0d0ffd">00167</a> <span class="preprocessor">#define CSMASK_CTRL (1 << csKeyModifierTypeCtrl)</span> <a name="l00169"></a><a class="code" href="evdefs_8h.html#bd889bad19559e75e329b28ab3afb543">00169</a> <span class="preprocessor">#define CSMASK_ALT (1 << csKeyModifierTypeAlt)</span> <a name="l00171"></a><a class="code" href="evdefs_8h.html#07d7df34d538ab33019374482346a1b5">00171</a> <span class="preprocessor">#define CSMASK_ALLSHIFTS (CSMASK_SHIFT | CSMASK_CTRL | CSMASK_ALT)</span> <a name="l00172"></a>00172 <span class="preprocessor"></span> <a name="l00174"></a><a class="code" href="evdefs_8h.html#1b834dcf5893ee50f09bca42f73ba2a0">00174</a> <span class="preprocessor">#define CSMASK_CAPSLOCK (1 << csKeyModifierTypeCapsLock)</span> <a name="l00176"></a><a class="code" href="evdefs_8h.html#80d9e8754325adfbc5416a30427fe5bf">00176</a> <span class="preprocessor">#define CSMASK_NUMLOCK (1 << csKeyModifierTypeNumLock)</span> <a name="l00178"></a><a class="code" href="evdefs_8h.html#7771157f7c246a93339f50075744965f">00178</a> <span class="preprocessor">#define CSMASK_SCROLLLOCK (1 << csKeyModifierTypeScrollLock)</span> <a name="l00180"></a><a class="code" href="evdefs_8h.html#4090c450fd668ef91062983f0637fda6">00180</a> <span class="preprocessor">#define CSMASK_ALLMODIFIERS (CSMASK_CAPSLOCK | CSMASK_NUMLOCK | \</span> <a name="l00181"></a>00181 <span class="preprocessor"> CSMASK_SCROLLLOCK | CSMASK_ALLSHIFTS)</span> <a name="l00182"></a>00182 <span class="preprocessor"></span> <a name="l00195"></a>00195 <a name="l00196"></a><a class="code" href="evdefs_8h.html#6e14f174197057d9b4b4a703068ef359">00196</a> <span class="preprocessor">#define CSKEY_ESC 27</span> <a name="l00198"></a><a class="code" href="evdefs_8h.html#c0c9de283bddc0f525392030a8e52b8d">00198</a> <span class="preprocessor">#define CSKEY_ENTER '\n'</span> <a name="l00200"></a><a class="code" href="evdefs_8h.html#fe9db489437ab364eec9ef29f803603f">00200</a> <span class="preprocessor">#define CSKEY_TAB '\t'</span> <a name="l00202"></a><a class="code" href="evdefs_8h.html#45f2b9e0c170be2241ee58e65960acb7">00202</a> <span class="preprocessor">#define CSKEY_BACKSPACE '\b'</span> <a name="l00204"></a><a class="code" href="evdefs_8h.html#c44f1ae95bae43e40f7ab633fb6e84ea">00204</a> <span class="preprocessor">#define CSKEY_SPACE ' '</span> <a name="l00205"></a>00205 <span class="preprocessor"></span> <a name="l00207"></a><a class="code" href="evdefs_8h.html#79383233e95613c1a1e17a5a9bb4078a">00207</a> <span class="preprocessor">#define CSKEY_SPECIAL_FIRST 0x108000</span> <a name="l00209"></a><a class="code" href="evdefs_8h.html#7e621029a74e7cae89bc0c4bc95008e6">00209</a> <span class="preprocessor">#define CSKEY_SPECIAL_LAST 0x10fffd</span> <a name="l00211"></a><a class="code" href="evdefs_8h.html#4580f3b433e6286f05167e976deafc50">00211</a> <span class="preprocessor">#define CSKEY_SPECIAL(code) (CSKEY_SPECIAL_FIRST + (code))</span> <a name="l00213"></a><a class="code" href="evdefs_8h.html#ba7cedcf63695ecf2b26e0d0961ef633">00213</a> <span class="preprocessor">#define CSKEY_IS_SPECIAL(rawCode) \</span> <a name="l00214"></a>00214 <span class="preprocessor"> ((rawCode >= CSKEY_SPECIAL_FIRST) && ((rawCode) <= CSKEY_SPECIAL_LAST))</span> <a name="l00216"></a><a class="code" href="evdefs_8h.html#8c02aafd21934e783c42f29fff3167bc">00216</a> <span class="preprocessor">#define CSKEY_SPECIAL_NUM(rawCode) ((rawCode) - CSKEY_SPECIAL_FIRST)</span> <a name="l00217"></a>00217 <span class="preprocessor"></span> <a name="l00219"></a><a class="code" href="evdefs_8h.html#847a728a516a2d39c78098caae647345">00219</a> <span class="preprocessor">#define CSKEY_UP CSKEY_SPECIAL(0x00)</span> <a name="l00221"></a><a class="code" href="evdefs_8h.html#d6c47a95616617d9c6694bff01ea60cb">00221</a> <span class="preprocessor">#define CSKEY_DOWN CSKEY_SPECIAL(0x01)</span> <a name="l00223"></a><a class="code" href="evdefs_8h.html#028daa3194fab65cc6ca5efde7d453be">00223</a> <span class="preprocessor">#define CSKEY_LEFT CSKEY_SPECIAL(0x02)</span> <a name="l00225"></a><a class="code" href="evdefs_8h.html#0fb991fc196484b3752dd2fa515ccd07">00225</a> <span class="preprocessor">#define CSKEY_RIGHT CSKEY_SPECIAL(0x03)</span> <a name="l00227"></a><a class="code" href="evdefs_8h.html#ff593433668e3967a3200b65344c0168">00227</a> <span class="preprocessor">#define CSKEY_PGUP CSKEY_SPECIAL(0x04)</span> <a name="l00229"></a><a class="code" href="evdefs_8h.html#dd35639aa64f31e8d999317d7f5d0ef3">00229</a> <span class="preprocessor">#define CSKEY_PGDN CSKEY_SPECIAL(0x05)</span> <a name="l00231"></a><a class="code" href="evdefs_8h.html#c71b2a819615dc93c63d7ffa8347cb3e">00231</a> <span class="preprocessor">#define CSKEY_HOME CSKEY_SPECIAL(0x06)</span> <a name="l00233"></a><a class="code" href="evdefs_8h.html#72de3c1ad57aebf180eaaed5ee87573c">00233</a> <span class="preprocessor">#define CSKEY_END CSKEY_SPECIAL(0x07)</span> <a name="l00235"></a><a class="code" href="evdefs_8h.html#9d31cb6f6bdcafb6f1211d1ce02b2af4">00235</a> <span class="preprocessor">#define CSKEY_INS CSKEY_SPECIAL(0x08)</span> <a name="l00237"></a><a class="code" href="evdefs_8h.html#f6804755207bb7a10e44063af72c6d7c">00237</a> <span class="preprocessor">#define CSKEY_DEL CSKEY_SPECIAL(0x09)</span> <a name="l00239"></a><a class="code" href="evdefs_8h.html#65cf5d0f4459ec9c328e29663d39e77d">00239</a> <span class="preprocessor">#define CSKEY_CONTEXT CSKEY_SPECIAL(0x0a)</span> <a name="l00241"></a><a class="code" href="evdefs_8h.html#fb3f8458e97a3a684114c31aa684d86f">00241</a> <span class="preprocessor">#define CSKEY_PRINTSCREEN CSKEY_SPECIAL(0x0b)</span> <a name="l00243"></a><a class="code" href="evdefs_8h.html#67db376c57f68afe9dde3e2319cc2118">00243</a> <span class="preprocessor">#define CSKEY_PAUSE CSKEY_SPECIAL(0x0c)</span> <a name="l00245"></a><a class="code" href="evdefs_8h.html#507569c1b80a62f483b53ab914f38f70">00245</a> <span class="preprocessor">#define CSKEY_F1 CSKEY_SPECIAL(0x10)</span> <a name="l00247"></a><a class="code" href="evdefs_8h.html#549dad9e55e35eff138ee6a272704be2">00247</a> <span class="preprocessor">#define CSKEY_F2 CSKEY_SPECIAL(0x11)</span> <a name="l00249"></a><a class="code" href="evdefs_8h.html#f89c17442edb028c3713672665bec534">00249</a> <span class="preprocessor">#define CSKEY_F3 CSKEY_SPECIAL(0x12)</span> <a name="l00251"></a><a class="code" href="evdefs_8h.html#58c257be0bb780d68292403a25fb8f56">00251</a> <span class="preprocessor">#define CSKEY_F4 CSKEY_SPECIAL(0x13)</span> <a name="l00253"></a><a class="code" href="evdefs_8h.html#90166e52b5549ad7ca79283a403d04b7">00253</a> <span class="preprocessor">#define CSKEY_F5 CSKEY_SPECIAL(0x14)</span> <a name="l00255"></a><a class="code" href="evdefs_8h.html#b1a701b1668edfa1fc16e5c60399d7d6">00255</a> <span class="preprocessor">#define CSKEY_F6 CSKEY_SPECIAL(0x15)</span> <a name="l00257"></a><a class="code" href="evdefs_8h.html#de533b0ef62e942a812a0956cba71890">00257</a> <span class="preprocessor">#define CSKEY_F7 CSKEY_SPECIAL(0x16)</span> <a name="l00259"></a><a class="code" href="evdefs_8h.html#16a5dbe788501350b055e709ccc0e881">00259</a> <span class="preprocessor">#define CSKEY_F8 CSKEY_SPECIAL(0x17)</span> <a name="l00261"></a><a class="code" href="evdefs_8h.html#4cd7dde3cc8c60d4428ff65f1757b886">00261</a> <span class="preprocessor">#define CSKEY_F9 CSKEY_SPECIAL(0x18)</span> <a name="l00263"></a><a class="code" href="evdefs_8h.html#4948eba3a2dd20923bc16c7652f42d1a">00263</a> <span class="preprocessor">#define CSKEY_F10 CSKEY_SPECIAL(0x19)</span> <a name="l00265"></a><a class="code" href="evdefs_8h.html#f54f66e677a3e8ca33b3a0105c2e6f2f">00265</a> <span class="preprocessor">#define CSKEY_F11 CSKEY_SPECIAL(0x1a)</span> <a name="l00267"></a><a class="code" href="evdefs_8h.html#1dc7b4287106e0fb590ada11ef1fce36">00267</a> <span class="preprocessor">#define CSKEY_F12 CSKEY_SPECIAL(0x1b)</span> <a name="l00268"></a>00268 <span class="preprocessor"></span> <a name="l00270"></a><a class="code" href="evdefs_8h.html#66abd197584b0fbc2a827f03ded830c4">00270</a> <span class="preprocessor">#define CSKEY_MODIFIER_FIRST 0x2000</span> <a name="l00272"></a><a class="code" href="evdefs_8h.html#ae7f60d1418a8ff0223b311348ef7571">00272</a> <span class="preprocessor">#define CSKEY_MODIFIER_LAST 0x3fff</span> <a name="l00273"></a>00273 <span class="preprocessor"></span> <a name="l00277"></a><a class="code" href="evdefs_8h.html#564ba514e67ae11e50a7d3655ad9d6a4">00277</a> <span class="preprocessor">#define CSKEY_MODIFIERTYPE_SHIFT 5</span> <a name="l00279"></a><a class="code" href="evdefs_8h.html#d5b4cb1060577689b08af6d82023204d">00279</a> <span class="preprocessor">#define CSKEY_MODIFIER(type, num) \</span> <a name="l00280"></a>00280 <span class="preprocessor"> CSKEY_SPECIAL(CSKEY_MODIFIER_FIRST + ((type) << CSKEY_MODIFIERTYPE_SHIFT) + (num))</span> <a name="l00282"></a><a class="code" href="evdefs_8h.html#16b3127f5bdda4738676955a80c906cb">00282</a> <span class="preprocessor">#define CSKEY_IS_MODIFIER(rawCode) \</span> <a name="l00283"></a>00283 <span class="preprocessor"> (CSKEY_IS_SPECIAL(rawCode) && \</span> <a name="l00284"></a>00284 <span class="preprocessor"> ((CSKEY_SPECIAL_NUM(rawCode) >= CSKEY_MODIFIER_FIRST) && \</span> <a name="l00285"></a>00285 <span class="preprocessor"> (CSKEY_SPECIAL_NUM(rawCode) <= CSKEY_MODIFIER_LAST)))</span> <a name="l00287"></a><a class="code" href="evdefs_8h.html#80b01299a01aa5d08a50e96d1ae7704a">00287</a> <span class="preprocessor">#define CSKEY_MODIFIER_TYPE(rawCode) \</span> <a name="l00288"></a>00288 <span class="preprocessor"> (((rawCode) - CSKEY_MODIFIER_FIRST - CSKEY_SPECIAL_FIRST) >> \</span> <a name="l00289"></a>00289 <span class="preprocessor"> CSKEY_MODIFIERTYPE_SHIFT)</span> <a name="l00291"></a><a class="code" href="evdefs_8h.html#be514077a73a14da0f6d2420650d3ff6">00291</a> <span class="preprocessor">#define CSKEY_MODIFIER_NUM(rawCode) \</span> <a name="l00292"></a>00292 <span class="preprocessor"> (((rawCode) - CSKEY_MODIFIER_FIRST - CSKEY_SPECIAL_FIRST) & \</span> <a name="l00293"></a>00293 <span class="preprocessor"> ((1 << CSKEY_MODIFIERTYPE_SHIFT) - 1)) </span> <a name="l00294"></a>00294 <span class="preprocessor"></span> <a name="l00296"></a><a class="code" href="evdefs_8h.html#8a04d2859a4e35a634d67c20f17c6a12">00296</a> <span class="preprocessor">#define CSKEY_MODIFIER_COMPARE_MASK(bitmask1, bitmask2) \</span> <a name="l00297"></a>00297 <span class="preprocessor"> ((bitmask1) == (bitmask2) \</span> <a name="l00298"></a>00298 <span class="preprocessor">|| ((bitmask1) == (unsigned)(1 << csKeyModifierNumAny) && (bitmask2) != 0) \</span> <a name="l00299"></a>00299 <span class="preprocessor">|| ((bitmask2) == (unsigned)(1 << csKeyModifierNumAny) && (bitmask1) != 0))</span> <a name="l00300"></a>00300 <span class="preprocessor"></span> <a name="l00305"></a><a class="code" href="evdefs_8h.html#7ce0a3c0f201bdde5642fcb49d705b1d">00305</a> <span class="preprocessor">#define CSKEY_MODIFIER_COMPARE_CODE(key1, key2) \</span> <a name="l00306"></a>00306 <span class="preprocessor"> ((CSKEY_MODIFIER_TYPE (key1) == CSKEY_MODIFIER_TYPE (key2)) \</span> <a name="l00307"></a>00307 <span class="preprocessor"> && ((CSKEY_MODIFIER_NUM(key1) == csKeyModifierNumAny) \</span> <a name="l00308"></a>00308 <span class="preprocessor"> || (CSKEY_MODIFIER_NUM(key2) == csKeyModifierNumAny) \</span> <a name="l00309"></a>00309 <span class="preprocessor"> || (CSKEY_MODIFIER_NUM(key1) == CSKEY_MODIFIER_NUM(key1))))</span> <a name="l00310"></a>00310 <span class="preprocessor"></span> <a name="l00312"></a><a class="code" href="evdefs_8h.html#cf4de1243a150f00add0b89510084d96">00312</a> <span class="preprocessor">#define CSKEY_SHIFT_NUM(n) CSKEY_MODIFIER(csKeyModifierTypeShift,n)</span> <a name="l00314"></a><a class="code" href="evdefs_8h.html#75e0aa165d231a4fd64718700e0e8240">00314</a> <span class="preprocessor">#define CSKEY_SHIFT_FIRST CSKEY_SHIFT_NUM(0)</span> <a name="l00316"></a><a class="code" href="evdefs_8h.html#fe64b39533380ad2ff375767c665ae03">00316</a> <span class="preprocessor">#define CSKEY_SHIFT_LAST CSKEY_SHIFT_NUM(0x1e)</span> <a name="l00317"></a>00317 <span class="preprocessor"></span> <a name="l00319"></a><a class="code" href="evdefs_8h.html#c4ec362bbc367cd390b93b13a4d3c4ad">00319</a> <span class="preprocessor">#define CSKEY_SHIFT_LEFT CSKEY_SHIFT_NUM(csKeyModifierNumLeft)</span> <a name="l00321"></a><a class="code" href="evdefs_8h.html#f7ad0cd2654d736200de589add458a39">00321</a> <span class="preprocessor">#define CSKEY_SHIFT_RIGHT CSKEY_SHIFT_NUM(csKeyModifierNumRight)</span> <a name="l00323"></a><a class="code" href="evdefs_8h.html#99b5e749fac7cc44709bfddb663fb1cb">00323</a> <span class="preprocessor">#define CSKEY_SHIFT CSKEY_SHIFT_NUM(csKeyModifierNumAny)</span> <a name="l00324"></a>00324 <span class="preprocessor"></span> <a name="l00326"></a><a class="code" href="evdefs_8h.html#70db7b0417596fc8702bd97bf241e84b">00326</a> <span class="preprocessor">#define CSKEY_CTRL_NUM(n) CSKEY_MODIFIER(csKeyModifierTypeCtrl,n)</span> <a name="l00328"></a><a class="code" href="evdefs_8h.html#e656d233c38f774eece6308d45ad8d33">00328</a> <span class="preprocessor">#define CSKEY_CTRL_FIRST CSKEY_CTRL_NUM(0)</span> <a name="l00330"></a><a class="code" href="evdefs_8h.html#b16a5ad5f7fa595684ad9aab00b0b1d0">00330</a> <span class="preprocessor">#define CSKEY_CTRL_LAST CSKEY_CTRL_NUM(0x1e)</span> <a name="l00331"></a>00331 <span class="preprocessor"></span> <a name="l00333"></a><a class="code" href="evdefs_8h.html#112d094fe5222bf133d678f8951a12db">00333</a> <span class="preprocessor">#define CSKEY_CTRL_LEFT CSKEY_CTRL_NUM(csKeyModifierNumLeft)</span> <a name="l00335"></a><a class="code" href="evdefs_8h.html#fcc01fae355b207e56f2f9c700ced526">00335</a> <span class="preprocessor">#define CSKEY_CTRL_RIGHT CSKEY_CTRL_NUM(csKeyModifierNumRight)</span> <a name="l00337"></a><a class="code" href="evdefs_8h.html#f6ecb5888bde573aaf339ecf4f1c3d61">00337</a> <span class="preprocessor">#define CSKEY_CTRL CSKEY_CTRL_NUM(csKeyModifierNumAny)</span> <a name="l00338"></a>00338 <span class="preprocessor"></span> <a name="l00340"></a><a class="code" href="evdefs_8h.html#cbfde01e406872a6d00f68e21706851d">00340</a> <span class="preprocessor">#define CSKEY_ALT_NUM(n) CSKEY_MODIFIER(csKeyModifierTypeAlt,n)</span> <a name="l00342"></a><a class="code" href="evdefs_8h.html#93d6f778a33d54fdb43ecec63551ecce">00342</a> <span class="preprocessor">#define CSKEY_ALT_FIRST CSKEY_ALT_NUM(0)</span> <a name="l00344"></a><a class="code" href="evdefs_8h.html#32a6f8868eea14dbb2d7100db8b1e452">00344</a> <span class="preprocessor">#define CSKEY_ALT_LAST CSKEY_ALT_NUM(0x1e)</span> <a name="l00345"></a>00345 <span class="preprocessor"></span> <a name="l00347"></a><a class="code" href="evdefs_8h.html#6c9748d9196ee67d03ef2ca0db1c47da">00347</a> <span class="preprocessor">#define CSKEY_ALT_LEFT CSKEY_ALT_NUM(csKeyModifierNumLeft)</span> <a name="l00349"></a><a class="code" href="evdefs_8h.html#0370e5ac2e009985f5a2fbb902cf90a7">00349</a> <span class="preprocessor">#define CSKEY_ALT_RIGHT CSKEY_ALT_NUM(csKeyModifierNumRight)</span> <a name="l00351"></a><a class="code" href="evdefs_8h.html#62328951e9057ade3abe72117a4b0eea">00351</a> <span class="preprocessor">#define CSKEY_ALT CSKEY_ALT_NUM(csKeyModifierNumAny)</span> <a name="l00352"></a>00352 <span class="preprocessor"></span> <a name="l00354"></a><a class="code" href="evdefs_8h.html#3f5f1b7e2f96be17b29d99fa34b672d3">00354</a> <span class="preprocessor">#define CSKEY_PAD_FLAG 0x4000</span> <a name="l00356"></a><a class="code" href="evdefs_8h.html#54cc94ffeaf9b53c37c8d86df08e2a40">00356</a> <span class="preprocessor">#define CSKEY_PAD_KEY(code) CSKEY_SPECIAL((unsigned int)(code) | CSKEY_PAD_FLAG)</span> <a name="l00357"></a>00357 <span class="preprocessor"></span> <a name="l00359"></a><a class="code" href="evdefs_8h.html#2e25574b8c65ee9857ee5c735db6396c">00359</a> <span class="preprocessor">#define CSKEY_IS_PAD_KEY(rawCode) (((rawCode) & CSKEY_PAD_FLAG) != 0)</span> <a name="l00360"></a>00360 <span class="preprocessor"></span> <a name="l00363"></a><a class="code" href="evdefs_8h.html#85c6c3921338945349bbc59804edd31f">00363</a> <span class="preprocessor">#define CSKEY_PAD_TO_NORMAL(rawCode) ((rawCode) & (~CSKEY_PAD_FLAG))</span> <a name="l00364"></a>00364 <span class="preprocessor"></span> <a name="l00366"></a><a class="code" href="evdefs_8h.html#1375b07c20522891ff90c9977fb38229">00366</a> <span class="preprocessor">#define CSKEY_PAD1 CSKEY_PAD_KEY('1')</span> <a name="l00368"></a><a class="code" href="evdefs_8h.html#a09487caa81a322fec810e516b9685ae">00368</a> <span class="preprocessor">#define CSKEY_PAD2 CSKEY_PAD_KEY('2')</span> <a name="l00370"></a><a class="code" href="evdefs_8h.html#3e880b6d8e9a02d6bd46afad0dc53b46">00370</a> <span class="preprocessor">#define CSKEY_PAD3 CSKEY_PAD_KEY('3')</span> <a name="l00372"></a><a class="code" href="evdefs_8h.html#10e8de879513e77df4ad152f5b433865">00372</a> <span class="preprocessor">#define CSKEY_PAD4 CSKEY_PAD_KEY('4')</span> <a name="l00374"></a><a class="code" href="evdefs_8h.html#d7132d76df6034d9f29a1cd395242db7">00374</a> <span class="preprocessor">#define CSKEY_PAD5 CSKEY_PAD_KEY('5')</span> <a name="l00376"></a><a class="code" href="evdefs_8h.html#24ed847e76e2617bfb92707839647fba">00376</a> <span class="preprocessor">#define CSKEY_CENTER CSKEY_PAD5</span> <a name="l00378"></a><a class="code" href="evdefs_8h.html#6be30cdfcbb9f5a50e010b47a7a6b892">00378</a> <span class="preprocessor">#define CSKEY_PAD6 CSKEY_PAD_KEY('6')</span> <a name="l00380"></a><a class="code" href="evdefs_8h.html#fdf8b2143fc88c17ad516bae4bda6025">00380</a> <span class="preprocessor">#define CSKEY_PAD7 CSKEY_PAD_KEY('7')</span> <a name="l00382"></a><a class="code" href="evdefs_8h.html#27f6d8fe53fc9745edc8eb5fbe1c4f3e">00382</a> <span class="preprocessor">#define CSKEY_PAD8 CSKEY_PAD_KEY('8')</span> <a name="l00384"></a><a class="code" href="evdefs_8h.html#ac73206f922713bb1497d2bf226aeb60">00384</a> <span class="preprocessor">#define CSKEY_PAD9 CSKEY_PAD_KEY('9')</span> <a name="l00386"></a><a class="code" href="evdefs_8h.html#756e3d86a9f55a4db6266b852b5ebb36">00386</a> <span class="preprocessor">#define CSKEY_PAD0 CSKEY_PAD_KEY('0')</span> <a name="l00388"></a><a class="code" href="evdefs_8h.html#46dc898a5d2338288ed41c8924d4b009">00388</a> <span class="preprocessor">#define CSKEY_PADDECIMAL CSKEY_PAD_KEY('.')</span> <a name="l00390"></a><a class="code" href="evdefs_8h.html#b9291ba8fea69dee843795bd2c9a47d8">00390</a> <span class="preprocessor">#define CSKEY_PADDIV CSKEY_PAD_KEY('/')</span> <a name="l00392"></a><a class="code" href="evdefs_8h.html#60e0b463281913287bc4326082a4df2f">00392</a> <span class="preprocessor">#define CSKEY_PADMULT CSKEY_PAD_KEY('*')</span> <a name="l00394"></a><a class="code" href="evdefs_8h.html#dcb4cdbba050e0d4b90013278b36e957">00394</a> <span class="preprocessor">#define CSKEY_PADMINUS CSKEY_PAD_KEY('-')</span> <a name="l00396"></a><a class="code" href="evdefs_8h.html#818390e1210de8a037182ebed3442db7">00396</a> <span class="preprocessor">#define CSKEY_PADPLUS CSKEY_PAD_KEY('+')</span> <a name="l00398"></a><a class="code" href="evdefs_8h.html#b38e61209410486660c336f9b7a23db5">00398</a> <span class="preprocessor">#define CSKEY_PADENTER CSKEY_PAD_KEY('\n')</span> <a name="l00399"></a>00399 <span class="preprocessor"></span> <a name="l00404"></a><a class="code" href="evdefs_8h.html#c35caa15e0d13e11bf331f740cc589e0">00404</a> <span class="preprocessor">#define CSKEY_PADNUM \</span> <a name="l00405"></a>00405 <span class="preprocessor"> CSKEY_MODIFIER(csKeyModifierTypeNumLock,csKeyModifierNumAny) | CSKEY_PAD_FLAG</span> <a name="l00407"></a><a class="code" href="evdefs_8h.html#574e897a5f65d915d28453aed1abf5d5">00407</a> <span class="preprocessor">#define CSKEY_CAPSLOCK \</span> <a name="l00408"></a>00408 <span class="preprocessor"> CSKEY_MODIFIER(csKeyModifierTypeCapsLock,csKeyModifierNumAny)</span> <a name="l00410"></a><a class="code" href="evdefs_8h.html#57cbe652555b2dd698ef185cadb16cc8">00410</a> <span class="preprocessor">#define CSKEY_SCROLLLOCK \</span> <a name="l00411"></a>00411 <span class="preprocessor"> CSKEY_MODIFIER(csKeyModifierTypeScrollLock,csKeyModifierNumAny)</span> <a name="l00412"></a>00412 <span class="preprocessor"></span> <a name="l00414"></a><a class="code" href="evdefs_8h.html#a9fe74a26bf5b3c216b2ea7b821d266e">00414</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="evdefs_8h.html#a9fe74a26bf5b3c216b2ea7b821d266e" title="Character types.">_csKeyCharType</a> <a name="l00415"></a>00415 { <a name="l00417"></a><a class="code" href="evdefs_8h.html#a9fe74a26bf5b3c216b2ea7b821d266e0fdbc303da5deae05e46246065d8a979">00417</a> <a class="code" href="evdefs_8h.html#a9fe74a26bf5b3c216b2ea7b821d266e0fdbc303da5deae05e46246065d8a979" title="Normal character.">csKeyCharTypeNormal</a> = 0, <a name="l00419"></a><a class="code" href="evdefs_8h.html#a9fe74a26bf5b3c216b2ea7b821d266e956fba12c395ae284639642feefa82d8">00419</a> <a class="code" href="evdefs_8h.html#a9fe74a26bf5b3c216b2ea7b821d266e956fba12c395ae284639642feefa82d8" title="&quot;Dead&quot; character">csKeyCharTypeDead</a> <a name="l00420"></a>00420 } <a class="code" href="evdefs_8h.html#01c809d9f3c8b5c7985bc34b611ecdd4" title="Character types.">csKeyCharType</a>; <a name="l00421"></a>00421 <a name="l00436"></a>00436 <a name="l00437"></a><a class="code" href="evdefs_8h.html#7d93b0db9cca46cfc5a3426fac94e7fc">00437</a> <span class="preprocessor">#define CSEVTYPE_Keyboard 0x00000001</span> <a name="l00439"></a><a class="code" href="evdefs_8h.html#32af74a89955ff9b07073d6da4fca58d">00439</a> <span class="preprocessor">#define CSEVTYPE_Mouse 0x00000002</span> <a name="l00441"></a><a class="code" href="evdefs_8h.html#aa14be004a159edfc9be0380b0e2fc1d">00441</a> <span class="preprocessor">#define CSEVTYPE_Joystick 0x00000004</span> <a name="l00442"></a>00442 <span class="preprocessor"></span> <a name="l00444"></a>00444 <span class="preprocessor">#endif // __CS_IUTIL_EVDEFS_H__</span> </pre></div><hr size="1"><address><small>Generated for Crystal Space 1.2.1 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 </small></address> </div></body> </html>