Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 683

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!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: csInputDefinition Class Reference (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&nbsp;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 class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csInputDefinition Class Reference</h1><!-- doxytag: class="csInputDefinition" -->This class holds a description of a physical source of input events, such as a keyboard key, mouse or joystick button, or a mouse or joystick axis.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="inputdef_8h-source.html">csutil/inputdef.h</a>&gt;</code>
<p>

<p>
<a href="classcsInputDefinition-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#5edd91c2fdf91e3879c0e0b72067acff">Compare</a> (<a class="el" href="classcsInputDefinition.html">csInputDefinition</a> const &amp;) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a number indicating the relation of the two definitions.  <a href="#5edd91c2fdf91e3879c0e0b72067acff"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#4953f1f757a0dbc759e24d377a8dc5a5">ComputeHash</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate a hash value from the object.  <a href="#4953f1f757a0dbc759e24d377a8dc5a5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#e7d5a95d559ce0fcec62e7c47d38b955">csInputDefinition</a> (<a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *<a class="el" href="classcsInputDefinition.html#92970f4aff0639b6c6aaa60b1ff94000">name_reg</a>, const char *string, <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> honorModifiers=0, bool useCookedCode=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an input description from a string.  <a href="#e7d5a95d559ce0fcec62e7c47d38b955"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#d2503133f960e1aa6be843f13f7d5cb7">csInputDefinition</a> (<a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *<a class="el" href="classcsInputDefinition.html#92970f4aff0639b6c6aaa60b1ff94000">name_reg</a>, <a class="el" href="structiEvent.html">iEvent</a> *event, <a class="el" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79">uint8</a> axis)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an input description from an <a class="el" href="structiEvent.html" title="This interface describes any system event.">iEvent</a> (usually an axis).  <a href="#d2503133f960e1aa6be843f13f7d5cb7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#6ecb146aa68a2191891cd21a8ccf0ebc">csInputDefinition</a> (<a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *<a class="el" href="classcsInputDefinition.html#92970f4aff0639b6c6aaa60b1ff94000">name_reg</a>, <a class="el" href="structiEvent.html">iEvent</a> *event, <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> honorModifiers=0, bool useCookedCode=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct an input description from an <a class="el" href="structiEvent.html" title="This interface describes any system event.">iEvent</a> (usually a button).  <a href="#6ecb146aa68a2191891cd21a8ccf0ebc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#89004f1538c614b35d4be1ac314038ee">csInputDefinition</a> (const <a class="el" href="classcsInputDefinition.html">csInputDefinition</a> &amp;other)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#89004f1538c614b35d4be1ac314038ee"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#a5081a8058fd359896fc15a4a04e6733">csInputDefinition</a> (<a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *<a class="el" href="classcsInputDefinition.html#92970f4aff0639b6c6aaa60b1ff94000">name_reg</a>, <a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> honorModifiers=0, bool useCookedCode=false)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#a5081a8058fd359896fc15a4a04e6733"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#590cb1a6209b79664176da8e9a6291b7">GetDeviceNumber</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the (basis-0) device number of the description.  <a href="#590cb1a6209b79664176da8e9a6291b7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#908d40dd2341064d33230ac3ceb61fbd">GetKeyCode</a> (<a class="el" href="group__util.html#g47e911f87ff568b2779f26cf226f5070">utf32_char</a> &amp;<a class="el" href="classcsInputDefinition.html#9db4b4c1dac1aeab49383a37777b46e6">code</a>, bool &amp;<a class="el" href="classcsInputDefinition.html#ba6e52d1efc4d6176a635c0d32109580">isCooked</a>) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gives the key code of the description, assuming it is a keyboard type.  <a href="#908d40dd2341064d33230ac3ceb61fbd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#dda703bd70b80b23151db79d1216f6a9">GetModifiers</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the keyboard modifiers of the description.  <a href="#dda703bd70b80b23151db79d1216f6a9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#7dec1d9733513ecc084ab10a943a2f29">GetName</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the event name of the description (a csev... constant).  <a href="#7dec1d9733513ecc084ab10a943a2f29"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#6627a258f1fd966254b9c36e965052b5">GetNumber</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the numeric value of the description.  <a href="#6627a258f1fd966254b9c36e965052b5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#315a62348a4f0e93cbe5d11096babe96">IsValid</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a boolean indicating whether the object contains a valid input.  <a href="#315a62348a4f0e93cbe5d11096babe96"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#73b0b6e735842d0a252d165ddc2a927c">SetKeyCode</a> (<a class="el" href="group__util.html#g47e911f87ff568b2779f26cf226f5070">utf32_char</a> <a class="el" href="classcsInputDefinition.html#9db4b4c1dac1aeab49383a37777b46e6">code</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the key code of the description, assuming it is a keyboard type.  <a href="#73b0b6e735842d0a252d165ddc2a927c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#a266244583a8c8208267fadfe82056a0">SetModifiers</a> (const <a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a> &amp;mods)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the keyboard modifiers of the description.  <a href="#a266244583a8c8208267fadfe82056a0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#90c4736317c202d1fae549f78c42972c">SetName</a> (<a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the event type of the description (a csev... constant).  <a href="#90c4736317c202d1fae549f78c42972c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#51f1eee87159cb3738100c506c3950c0">SetNumber</a> (int n)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the numeric value of the description.  <a href="#51f1eee87159cb3738100c506c3950c0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classcsString.html">csString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#4cd4d4fd7bc968e50d1899b93d5f41d8">ToString</a> (bool distinguishModifiers=true) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the string representation of the description.  <a href="#4cd4d4fd7bc968e50d1899b93d5f41d8"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classcsString.html">csString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#b7a1f3acb6a4c77173c1813eb0986386">GetKeyString</a> (<a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *reg, <a class="el" href="group__util.html#g47e911f87ff568b2779f26cf226f5070">utf32_char</a> <a class="el" href="classcsInputDefinition.html#9db4b4c1dac1aeab49383a37777b46e6">code</a>, const <a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a> *mods, bool distinguishModifiers=true)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function to return a string (eg.  <a href="#b7a1f3acb6a4c77173c1813eb0986386"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classcsString.html">csString</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#9503849171a06b8aaecde2248856eca0">GetOtherString</a> (<a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *reg, <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> type, <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> device, int num, const <a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a> *mods, bool distinguishModifiers=true)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function to return a string (eg.  <a href="#9503849171a06b8aaecde2248856eca0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#a77a2a390dad32d004783c085b17c8b1">ParseKey</a> (<a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *reg, const char *iStr, <a class="el" href="group__util.html#g47e911f87ff568b2779f26cf226f5070">utf32_char</a> *oKeyCode, <a class="el" href="group__util.html#g47e911f87ff568b2779f26cf226f5070">utf32_char</a> *oCookedCode, <a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a> *oModifiers)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function to parse a string (eg.  <a href="#a77a2a390dad32d004783c085b17c8b1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#0bfcc01c3c324685d940ae873b2121fe">ParseOther</a> (<a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *reg, const char *iStr, <a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> *oType, <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> *oDevice, int *oNumeric, <a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a> *oModifiers)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Helper function to parse a string (eg.  <a href="#0bfcc01c3c324685d940ae873b2121fe"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92970f4aff0639b6c6aaa60b1ff94000"></a><!-- doxytag: member="csInputDefinition::name_reg" ref="92970f4aff0639b6c6aaa60b1ff94000" args="" -->
<a class="el" href="classcsRef.html">csRef</a><br>
&lt; <a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#92970f4aff0639b6c6aaa60b1ff94000">name_reg</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9db4b4c1dac1aeab49383a37777b46e6"></a><!-- doxytag: member="csInputDefinition::code" ref="9db4b4c1dac1aeab49383a37777b46e6" args="" -->
<a class="el" href="group__util.html#g47e911f87ff568b2779f26cf226f5070">utf32_char</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#9db4b4c1dac1aeab49383a37777b46e6">code</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba6e52d1efc4d6176a635c0d32109580"></a><!-- doxytag: member="csInputDefinition::isCooked" ref="ba6e52d1efc4d6176a635c0d32109580" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#ba6e52d1efc4d6176a635c0d32109580">isCooked</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="049b5183ef18cdfdd1c121d6f65cb4f8"></a><!-- doxytag: member="csInputDefinition::joystickAxis" ref="049b5183ef18cdfdd1c121d6f65cb4f8" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#049b5183ef18cdfdd1c121d6f65cb4f8">joystickAxis</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ed379594aed5122620591816f6ff4782"></a><!-- doxytag: member="csInputDefinition::joystickButton" ref="ed379594aed5122620591816f6ff4782" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#ed379594aed5122620591816f6ff4782">joystickButton</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="057b3e1875a16c361b18530852cc1c6d"></a><!-- doxytag: member="csInputDefinition::mouseAxis" ref="057b3e1875a16c361b18530852cc1c6d" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#057b3e1875a16c361b18530852cc1c6d">mouseAxis</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1c13e364f08301425f998496bb51378e"></a><!-- doxytag: member="csInputDefinition::mouseButton" ref="1c13e364f08301425f998496bb51378e" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#1c13e364f08301425f998496bb51378e">mouseButton</a></td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4eec8d356d031ed2673b30f6a2e48221"></a><!-- doxytag: member="csInputDefinition::containedName" ref="4eec8d356d031ed2673b30f6a2e48221" args="" -->
<a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#4eec8d356d031ed2673b30f6a2e48221">containedName</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd58852c1db4a3dbc1a49515404f34e6"></a><!-- doxytag: member="csInputDefinition::deviceNumber" ref="dd58852c1db4a3dbc1a49515404f34e6" args="" -->
<a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#dd58852c1db4a3dbc1a49515404f34e6">deviceNumber</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1ff3fdb7c99850a6184ba45a16715134"></a><!-- doxytag: member="csInputDefinition::modifiers" ref="1ff3fdb7c99850a6184ba45a16715134" args="" -->
<a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#1ff3fdb7c99850a6184ba45a16715134">modifiers</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa59f6a56e177e3aff175490379d0570"></a><!-- doxytag: member="csInputDefinition::modifiersHonored" ref="aa59f6a56e177e3aff175490379d0570" args="" -->
<a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#aa59f6a56e177e3aff175490379d0570">modifiersHonored</a></td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8470ff8b7c40e0bef64bcc4291043dc"></a><!-- doxytag: member="csInputDefinition::csInputBinder" ref="e8470ff8b7c40e0bef64bcc4291043dc" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsInputDefinition.html#e8470ff8b7c40e0bef64bcc4291043dc">csInputBinder</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class holds a description of a physical source of input events, such as a keyboard key, mouse or joystick button, or a mouse or joystick axis. 
<p>Definition at line <a class="el" href="inputdef_8h-source.html#l00045">45</a> of file <a class="el" href="inputdef_8h-source.html">inputdef.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a5081a8058fd359896fc15a4a04e6733"></a><!-- doxytag: member="csInputDefinition::csInputDefinition" ref="a5081a8058fd359896fc15a4a04e6733" args="(iEventNameRegistry *name_reg, uint32 honorModifiers=0, bool useCookedCode=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csInputDefinition::csInputDefinition           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *&nbsp;</td>
          <td class="paramname"> <em>name_reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td>
          <td class="paramname"> <em>honorModifiers</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>useCookedCode</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default constructor. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name_reg</em>&nbsp;</td><td>A pointer to the event name registry. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>honorModifiers</em>&nbsp;</td><td>A bitmask of modifier keys that will be recognised. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>useCookedCode</em>&nbsp;</td><td>If true, will use the cooked key code instead of raw. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="89004f1538c614b35d4be1ac314038ee"></a><!-- doxytag: member="csInputDefinition::csInputDefinition" ref="89004f1538c614b35d4be1ac314038ee" args="(const csInputDefinition &amp;other)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csInputDefinition::csInputDefinition           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classcsInputDefinition.html">csInputDefinition</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy constructor. 
<p>

</div>
</div><p>
<a class="anchor" name="6ecb146aa68a2191891cd21a8ccf0ebc"></a><!-- doxytag: member="csInputDefinition::csInputDefinition" ref="6ecb146aa68a2191891cd21a8ccf0ebc" args="(iEventNameRegistry *name_reg, iEvent *event, uint32 honorModifiers=0, bool useCookedCode=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csInputDefinition::csInputDefinition           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *&nbsp;</td>
          <td class="paramname"> <em>name_reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiEvent.html">iEvent</a> *&nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td>
          <td class="paramname"> <em>honorModifiers</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>useCookedCode</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct an input description from an <a class="el" href="structiEvent.html" title="This interface describes any system event.">iEvent</a> (usually a button). 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name_reg</em>&nbsp;</td><td>A pointer to the event name registry. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>The event to analyse for input data. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>honorModifiers</em>&nbsp;</td><td>A bitmask of modifier keys that will be recognised. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>useCookedCode</em>&nbsp;</td><td>If true, will use the cooked key code instead of raw. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="d2503133f960e1aa6be843f13f7d5cb7"></a><!-- doxytag: member="csInputDefinition::csInputDefinition" ref="d2503133f960e1aa6be843f13f7d5cb7" args="(iEventNameRegistry *name_reg, iEvent *event, uint8 axis)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csInputDefinition::csInputDefinition           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *&nbsp;</td>
          <td class="paramname"> <em>name_reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiEvent.html">iEvent</a> *&nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79">uint8</a>&nbsp;</td>
          <td class="paramname"> <em>axis</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct an input description from an <a class="el" href="structiEvent.html" title="This interface describes any system event.">iEvent</a> (usually an axis). 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name_reg</em>&nbsp;</td><td>A pointer to the event name registry. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>The event to analyse for input data. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>axis</em>&nbsp;</td><td>Events include all axes, so choose: 0 = x, 1 = y. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="e7d5a95d559ce0fcec62e7c47d38b955"></a><!-- doxytag: member="csInputDefinition::csInputDefinition" ref="e7d5a95d559ce0fcec62e7c47d38b955" args="(iEventNameRegistry *name_reg, const char *string, uint32 honorModifiers=0, bool useCookedCode=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">csInputDefinition::csInputDefinition           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *&nbsp;</td>
          <td class="paramname"> <em>name_reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>string</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a>&nbsp;</td>
          <td class="paramname"> <em>honorModifiers</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>useCookedCode</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Construct an input description from a string. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name_reg</em>&nbsp;</td><td>A pointer to the event name registry. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>The string to parse, e.g. "mousebutton1", "shift+a". </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>honorModifiers</em>&nbsp;</td><td>A bitmask of modifier keys that will be recognised. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>useCookedCode</em>&nbsp;</td><td>If true, will use the cooked key code instead of raw. More precisely, the syntax for <code>string</code> is (in EBNF): <pre>
 [ mod ("+"|"-") ]* ( ( devNumber? ("mouse" | "joystick") ( "X" | "Y" | ("Axis" axisNumber) | ("Button" buttonNumber) | buttonNumber ) ) | key )
 </pre> So the fourth axis of the third joystick is "2JoystickAxis3", and its first button is "2JoystickButton0" or "2Joystick0". The leading number must be omitted for the first (primary) input device, e.g., "MouseAxis0" or "JoystickButton3". </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="5edd91c2fdf91e3879c0e0b72067acff"></a><!-- doxytag: member="csInputDefinition::Compare" ref="5edd91c2fdf91e3879c0e0b72067acff" args="(csInputDefinition const &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int csInputDefinition::Compare           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classcsInputDefinition.html">csInputDefinition</a> const &amp;&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a number indicating the relation of the two definitions. 
<p>

<p>Referenced by <a class="el" href="inputdef_8h-source.html#l00267">csComparator&lt; csInputDefinition, csInputDefinition &gt;::Compare()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4953f1f757a0dbc759e24d377a8dc5a5"></a><!-- doxytag: member="csInputDefinition::ComputeHash" ref="4953f1f757a0dbc759e24d377a8dc5a5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__util.html#g1134b580f8da4de94ca6b1de4d37975e">uint32</a> csInputDefinition::ComputeHash           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generate a hash value from the object. 
<p>

<p>Referenced by <a class="el" href="inputdef_8h-source.html#l00281">csHashComputer&lt; csInputDefinition &gt;::ComputeHash()</a>.</p>

</div>
</div><p>
<a class="anchor" name="590cb1a6209b79664176da8e9a6291b7"></a><!-- doxytag: member="csInputDefinition::GetDeviceNumber" ref="590cb1a6209b79664176da8e9a6291b7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> csInputDefinition::GetDeviceNumber           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the (basis-0) device number of the description. 
<p>

<p>Definition at line <a class="el" href="inputdef_8h-source.html#l00177">177</a> of file <a class="el" href="inputdef_8h-source.html">inputdef.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="908d40dd2341064d33230ac3ceb61fbd"></a><!-- doxytag: member="csInputDefinition::GetKeyCode" ref="908d40dd2341064d33230ac3ceb61fbd" args="(utf32_char &amp;code, bool &amp;isCooked) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csInputDefinition::GetKeyCode           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g47e911f87ff568b2779f26cf226f5070">utf32_char</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&nbsp;</td>
          <td class="paramname"> <em>isCooked</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gives the key code of the description, assuming it is a keyboard type. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>code</em>&nbsp;</td><td>Will be set to the key code. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isCooked</em>&nbsp;</td><td>Will be set to true if the code is cooked, false if raw. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>False if the description is not a keyboard type. </dd></dl>

<p>Definition at line <a class="el" href="inputdef_8h-source.html#l00148">148</a> of file <a class="el" href="inputdef_8h-source.html">inputdef.h</a>.</p>

<p>References <a class="el" href="csutil_2eventnames_8h-source.html#l00174">csevKeyboardEvent</a>.</p>

</div>
</div><p>
<a class="anchor" name="b7a1f3acb6a4c77173c1813eb0986386"></a><!-- doxytag: member="csInputDefinition::GetKeyString" ref="b7a1f3acb6a4c77173c1813eb0986386" args="(iEventNameRegistry *reg, utf32_char code, const csKeyModifiers *mods, bool distinguishModifiers=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classcsString.html">csString</a> csInputDefinition::GetKeyString           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *&nbsp;</td>
          <td class="paramname"> <em>reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g47e911f87ff568b2779f26cf226f5070">utf32_char</a>&nbsp;</td>
          <td class="paramname"> <em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a> *&nbsp;</td>
          <td class="paramname"> <em>mods</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>distinguishModifiers</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Helper function to return a string (eg. 
<p>
"Ctrl+A") from values describing a keyboard event. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>reg</em>&nbsp;</td><td>A pointer to the event name registry. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>code</em>&nbsp;</td><td>The key code, treated as a raw code although raw vs. cooked doesn't matter here. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mods</em>&nbsp;</td><td>The keyboard modifiers. Will be ignored if 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>distinguishModifiers</em>&nbsp;</td><td>Whether to output distinguished modifiers (eg. "LCtrl" as opposed to just "Ctrl"). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The description string. </dd></dl>

</div>
</div><p>
<a class="anchor" name="dda703bd70b80b23151db79d1216f6a9"></a><!-- doxytag: member="csInputDefinition::GetModifiers" ref="dda703bd70b80b23151db79d1216f6a9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a>&amp; csInputDefinition::GetModifiers           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the keyboard modifiers of the description. 
<p>

<p>Definition at line <a class="el" href="inputdef_8h-source.html#l00174">174</a> of file <a class="el" href="inputdef_8h-source.html">inputdef.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="7dec1d9733513ecc084ab10a943a2f29"></a><!-- doxytag: member="csInputDefinition::GetName" ref="7dec1d9733513ecc084ab10a943a2f29" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> csInputDefinition::GetName           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the event name of the description (a csev... constant). 
<p>

<p>Definition at line <a class="el" href="inputdef_8h-source.html#l00137">137</a> of file <a class="el" href="inputdef_8h-source.html">inputdef.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="6627a258f1fd966254b9c36e965052b5"></a><!-- doxytag: member="csInputDefinition::GetNumber" ref="6627a258f1fd966254b9c36e965052b5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int csInputDefinition::GetNumber           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the numeric value of the description. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>If non-keyboard button event, the button number. If axis event, the axis number (0 = x, 1 = y). </dd></dl>

<p>Definition at line <a class="el" href="inputdef_8h-source.html#l00164">164</a> of file <a class="el" href="inputdef_8h-source.html">inputdef.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="9503849171a06b8aaecde2248856eca0"></a><!-- doxytag: member="csInputDefinition::GetOtherString" ref="9503849171a06b8aaecde2248856eca0" args="(iEventNameRegistry *reg, csEventID type, uint device, int num, const csKeyModifiers *mods, bool distinguishModifiers=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classcsString.html">csString</a> csInputDefinition::GetOtherString           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *&nbsp;</td>
          <td class="paramname"> <em>reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a>&nbsp;</td>
          <td class="paramname"> <em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a>&nbsp;</td>
          <td class="paramname"> <em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a> *&nbsp;</td>
          <td class="paramname"> <em>mods</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>distinguishModifiers</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Helper function to return a string (eg. 
<p>
"MouseX", "Alt+Mouse1") from values describing a non-keyboard event. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>reg</em>&nbsp;</td><td>A pointer to the event name registry. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The event type of the description (a csev... identifier). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>device</em>&nbsp;</td><td>For mouse and joystick events, the device number, basis 0 (first mouse is 0, second joystick is 1, etc). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>For button events, the button number. For axis events, the axis number (0 = x, 1 = y). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mods</em>&nbsp;</td><td>The keyboard modifiers. Will be ignored if 0. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>distinguishModifiers</em>&nbsp;</td><td>Whether to output distinguished modifiers (eg. "LCtrl" as opposed to just "Ctrl"). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The description string. </dd></dl>

</div>
</div><p>
<a class="anchor" name="315a62348a4f0e93cbe5d11096babe96"></a><!-- doxytag: member="csInputDefinition::IsValid" ref="315a62348a4f0e93cbe5d11096babe96" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csInputDefinition::IsValid           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns a boolean indicating whether the object contains a valid input. 
<p>

</div>
</div><p>
<a class="anchor" name="a77a2a390dad32d004783c085b17c8b1"></a><!-- doxytag: member="csInputDefinition::ParseKey" ref="a77a2a390dad32d004783c085b17c8b1" args="(iEventNameRegistry *reg, const char *iStr, utf32_char *oKeyCode, utf32_char *oCookedCode, csKeyModifiers *oModifiers)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool csInputDefinition::ParseKey           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *&nbsp;</td>
          <td class="paramname"> <em>reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>iStr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g47e911f87ff568b2779f26cf226f5070">utf32_char</a> *&nbsp;</td>
          <td class="paramname"> <em>oKeyCode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g47e911f87ff568b2779f26cf226f5070">utf32_char</a> *&nbsp;</td>
          <td class="paramname"> <em>oCookedCode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a> *&nbsp;</td>
          <td class="paramname"> <em>oModifiers</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Helper function to parse a string (eg. 
<p>
"Ctrl+A") into values describing a keyboard event, returning both raw and cooked key codes. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>reg</em>&nbsp;</td><td>A pointer to the event name registry. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>iStr</em>&nbsp;</td><td>The string to parse. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>oKeyCode</em>&nbsp;</td><td>Will be set to the raw code of the parsed description. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>oCookedCode</em>&nbsp;</td><td>Will be set to the cooked code of the description. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>oModifiers</em>&nbsp;</td><td>The modifiers of the description. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Whether the string could be successfully parsed. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Any of the output parameters may be null, in which case they are ignored. </dd></dl>

</div>
</div><p>
<a class="anchor" name="0bfcc01c3c324685d940ae873b2121fe"></a><!-- doxytag: member="csInputDefinition::ParseOther" ref="0bfcc01c3c324685d940ae873b2121fe" args="(iEventNameRegistry *reg, const char *iStr, csEventID *oType, uint *oDevice, int *oNumeric, csKeyModifiers *oModifiers)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool csInputDefinition::ParseOther           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiEventNameRegistry.html">iEventNameRegistry</a> *&nbsp;</td>
          <td class="paramname"> <em>reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>iStr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a> *&nbsp;</td>
          <td class="paramname"> <em>oType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__util.html#g91ad9478d81a7aaf2593e8d9c3d06a14">uint</a> *&nbsp;</td>
          <td class="paramname"> <em>oDevice</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>oNumeric</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a> *&nbsp;</td>
          <td class="paramname"> <em>oModifiers</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Helper function to parse a string (eg. 
<p>
"MouseX", "Alt+Mouse1") into values describing a non-keyboard event. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>reg</em>&nbsp;</td><td>A pointer to the event name registry. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>iStr</em>&nbsp;</td><td>The string to parse. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>oType</em>&nbsp;</td><td>Will be set to the event name of the description (a csev... identifier). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>oDevice</em>&nbsp;</td><td>For mouse and joystick events, will be set to the device number, basis 0 (e.g., the third joystick device is "2"). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>oNumeric</em>&nbsp;</td><td>For button events, will be set to the button number. For axis events, will be set to the axis number (0 = x, 1 = y). </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>oModifiers</em>&nbsp;</td><td>Will be populated with the modifiers of the description. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Whether the string could be successfully parsed. </dd></dl>
<dl class="remark" compact><dt><b>Remarks:</b></dt><dd>Any of the output parameters may be null, in which case they are ignored. </dd></dl>

</div>
</div><p>
<a class="anchor" name="73b0b6e735842d0a252d165ddc2a927c"></a><!-- doxytag: member="csInputDefinition::SetKeyCode" ref="73b0b6e735842d0a252d165ddc2a927c" args="(utf32_char code)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool csInputDefinition::SetKeyCode           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g47e911f87ff568b2779f26cf226f5070">utf32_char</a>&nbsp;</td>
          <td class="paramname"> <em>code</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the key code of the description, assuming it is a keyboard type. 
<p>

<p>Definition at line <a class="el" href="inputdef_8h-source.html#l00154">154</a> of file <a class="el" href="inputdef_8h-source.html">inputdef.h</a>.</p>

<p>References <a class="el" href="csutil_2eventnames_8h-source.html#l00174">csevKeyboardEvent</a>.</p>

</div>
</div><p>
<a class="anchor" name="a266244583a8c8208267fadfe82056a0"></a><!-- doxytag: member="csInputDefinition::SetModifiers" ref="a266244583a8c8208267fadfe82056a0" args="(const csKeyModifiers &amp;mods)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csInputDefinition::SetModifiers           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct__csKeyModifiers.html">csKeyModifiers</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>mods</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the keyboard modifiers of the description. 
<p>

<p>Definition at line <a class="el" href="inputdef_8h-source.html#l00180">180</a> of file <a class="el" href="inputdef_8h-source.html">inputdef.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="90c4736317c202d1fae549f78c42972c"></a><!-- doxytag: member="csInputDefinition::SetName" ref="90c4736317c202d1fae549f78c42972c" args="(csEventID n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csInputDefinition::SetName           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__event__handling.html#g51e1762faeeefdadf693499fc93db757">csEventID</a>&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the event type of the description (a csev... constant). 
<p>

<p>Definition at line <a class="el" href="inputdef_8h-source.html#l00140">140</a> of file <a class="el" href="inputdef_8h-source.html">inputdef.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="51f1eee87159cb3738100c506c3950c0"></a><!-- doxytag: member="csInputDefinition::SetNumber" ref="51f1eee87159cb3738100c506c3950c0" args="(int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csInputDefinition::SetNumber           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the numeric value of the description. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>If non-keyboard button event, the button number. If axis event, the axis number (0 = x, 1 = y). </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="inputdef_8h-source.html#l00171">171</a> of file <a class="el" href="inputdef_8h-source.html">inputdef.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="4cd4d4fd7bc968e50d1899b93d5f41d8"></a><!-- doxytag: member="csInputDefinition::ToString" ref="4cd4d4fd7bc968e50d1899b93d5f41d8" args="(bool distinguishModifiers=true) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classcsString.html">csString</a> csInputDefinition::ToString           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>distinguishModifiers</em> = <code>true</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the string representation of the description. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>distinguishModifiers</em>&nbsp;</td><td>If false, left and right modifiers will be output as plain-old modifiers (e.g. "LAlt" and "RAlt" become just "Alt"). </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The string representation of the description (e.g. "mousebutton1", "shift+a"). </dd></dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>csutil/<a class="el" href="inputdef_8h-source.html">inputdef.h</a></ul>
<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>