Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > e30a327878e3ba1e4fc6c751cb1f95c0 > files > 114

libscim-devel-1.4.9-2mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>scim: scim::KeyEvent Struct Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.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="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</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>
  <div class="navpath"><a class="el" href="a00157.html">scim</a>::<a class="el" href="a00054.html">KeyEvent</a>
  </div>
</div>
<div class="contents">
<h1>scim::KeyEvent Struct Reference<br>
<small>
[<a class="el" href="a00158.html">Accessories</a>]</small>
</h1><!-- doxytag: class="scim::KeyEvent" -->The class to store a keyboard event.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;scim_event.h&gt;</code>
<p>

<p>
<a href="a00232.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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#555611a8e34de239896d5025888a9705">KeyEvent</a> (<a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a> c=0, <a class="el" href="a00157.html#f386a2f47839e4dc17f4e9c3f97b3dc4">uint16</a> m=0, <a class="el" href="a00157.html#f386a2f47839e4dc17f4e9c3f97b3dc4">uint16</a> l=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor.  <a href="#555611a8e34de239896d5025888a9705"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#26f459ec0e06ba194a677f53c13a04fd">KeyEvent</a> (const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor, construct a key event from a string.  <a href="#26f459ec0e06ba194a677f53c13a04fd"></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="a00054.html#813e35fa10d230a42978c385b22ac865">empty</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if this <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a> is empty.  <a href="#813e35fa10d230a42978c385b22ac865"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#920dab05f738c4a44a6333029c0ff573">get_ascii_code</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the ascii code of this key event.  <a href="#920dab05f738c4a44a6333029c0ff573"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00157.html#34ddb69b99962cd0e75941288f8b2ee8">ucs4_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#30b4a41faafd7191ebb45bad4051e3a2">get_unicode_code</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Unicode code of this key event.  <a href="#30b4a41faafd7191ebb45bad4051e3a2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#d911998c0a5a652b25be8914a65ac391">get_key_string</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the string of this key event.  <a href="#d911998c0a5a652b25be8914a65ac391"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00054.html">KeyEvent</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#4422dcf004521aeec1d83bc60f921352">map_to_layout</a> (<a class="el" href="a00158.html#gdf7cdb9ca5b7dc43b056b5e5e715e570">KeyboardLayout</a> new_layout) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map this <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a> to another Keyboard Layout.  <a href="#4422dcf004521aeec1d83bc60f921352"></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="a00054.html#8df6b6011ddb0d935b193165b65262ff">is_shift_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the Shift key is pressed down.  <a href="#8df6b6011ddb0d935b193165b65262ff"></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="a00054.html#1382e3dd1e06126b6b189af7aa9ac6f2">is_caps_lock_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the CapsLock key is pressed down.  <a href="#1382e3dd1e06126b6b189af7aa9ac6f2"></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="a00054.html#6eb03c0c7c9e694948c99a0c9ddac060">is_control_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the Ctrl key is pressed down.  <a href="#6eb03c0c7c9e694948c99a0c9ddac060"></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="a00054.html#e09489a98fc9500b31d97030bc7259df">is_alt_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the Alt key is pressed down.  <a href="#e09489a98fc9500b31d97030bc7259df"></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="a00054.html#095aa4de5715c8f7e7d9d0b885e36fe4">is_meta_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the Meta key is pressed down.  <a href="#095aa4de5715c8f7e7d9d0b885e36fe4"></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="a00054.html#5a79b198fe44411203b5a4cd3f52c5e1">is_super_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the Super key is pressed down.  <a href="#5a79b198fe44411203b5a4cd3f52c5e1"></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="a00054.html#ae2e9eff3c5be1a7059658fde3dcc5f8">is_hyper_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the Hyper key is pressed down.  <a href="#ae2e9eff3c5be1a7059658fde3dcc5f8"></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="a00054.html#957736403170a48f0648bbc47e23391e">is_num_lock_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the num lock key is pressed down.  <a href="#957736403170a48f0648bbc47e23391e"></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="a00054.html#53e21b362c405e60b6c237439202ad62">is_key_press</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if it's a key press event.  <a href="#53e21b362c405e60b6c237439202ad62"></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="a00054.html#45225ae728ff31bb061181b7afc4beda">is_key_release</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if it's a key release event.  <a href="#45225ae728ff31bb061181b7afc4beda"></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="a00054.html#c9fbb8f24ac30a6232ddf61cb759d18e">operator==</a> (const <a class="el" href="a00054.html">KeyEvent</a> &amp;key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two key events.  <a href="#c9fbb8f24ac30a6232ddf61cb759d18e"></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="a00054.html#78ff7cc7439daac8492844329bb93063">operator!=</a> (const <a class="el" href="a00054.html">KeyEvent</a> &amp;key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two key events.  <a href="#78ff7cc7439daac8492844329bb93063"></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="a00054.html#ca51e7e0bb51624dd432eebf0dce2d2d">operator&lt;</a> (const <a class="el" href="a00054.html">KeyEvent</a> &amp;key) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two key events.  <a href="#ca51e7e0bb51624dd432eebf0dce2d2d"></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="a00054.html#536de9d7edc960d09b48874d9c4e8d1d">is_lock_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the lock key is pressed down.  <a href="#536de9d7edc960d09b48874d9c4e8d1d"></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="a00054.html#2367fd10402f697c951c8f06a1ab5d9a">is_mod1_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the mod1 key is pressed down.  <a href="#2367fd10402f697c951c8f06a1ab5d9a"></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="a00054.html#976cee2079a0e8409f14c39d141c22d5">is_mod2_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the mod2 key is pressed down.  <a href="#976cee2079a0e8409f14c39d141c22d5"></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="a00054.html#a7ec4b60dad32f141fba6192a8af3327">is_mod3_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the mod3 key is pressed down.  <a href="#a7ec4b60dad32f141fba6192a8af3327"></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="a00054.html#cafc13e337f5f08f09eed275aab8e61a">is_mod4_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the mod4 key is pressed down.  <a href="#cafc13e337f5f08f09eed275aab8e61a"></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="a00054.html#2cba168fb1c3b843e81a603d931a90ad">is_mod5_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the mod5 key is pressed down.  <a href="#2cba168fb1c3b843e81a603d931a90ad"></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="a00054.html#d511598b90efaf6f6b55878457cbbbaa">is_scroll_lock_down</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the scroll lock key is pressed down.  <a href="#d511598b90efaf6f6b55878457cbbbaa"></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="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#d84f43542fa75f80447e2cbe4f687dbb">code</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00157.html#f386a2f47839e4dc17f4e9c3f97b3dc4">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#f96d887cbb009a16224ab980dc0548eb">mask</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00157.html#f386a2f47839e4dc17f4e9c3f97b3dc4">uint16</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#db9b2de7999fd4942359450d275dd9ec">layout</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The class to store a keyboard event. 
<p>
A keyboard event contains a key code and a set of key masks. The key masks indicate which modifier keys are pressed down and if it's a key release event.<p>
It also contains the Keyboard Layout information. IMEngines can map a <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a> to another layout by calling method <a class="el" href="a00054.html#4422dcf004521aeec1d83bc60f921352" title="Map this KeyEvent to another Keyboard Layout.">map_to_layout()</a>. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="555611a8e34de239896d5025888a9705"></a><!-- doxytag: member="scim::KeyEvent::KeyEvent" ref="555611a8e34de239896d5025888a9705" args="(uint32 c=0, uint16 m=0, uint16 l=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">scim::KeyEvent::KeyEvent           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a>&nbsp;</td>
          <td class="paramname"> <em>c</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00157.html#f386a2f47839e4dc17f4e9c3f97b3dc4">uint16</a>&nbsp;</td>
          <td class="paramname"> <em>m</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00157.html#f386a2f47839e4dc17f4e9c3f97b3dc4">uint16</a>&nbsp;</td>
          <td class="paramname"> <em>l</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline]</code></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>c</em>&nbsp;</td><td>- the key code. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>- the key masks. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>- the keyboard layout </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="26f459ec0e06ba194a677f53c13a04fd"></a><!-- doxytag: member="scim::KeyEvent::KeyEvent" ref="26f459ec0e06ba194a677f53c13a04fd" args="(const String &amp;str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">scim::KeyEvent::KeyEvent           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>str</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor, construct a key event 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>str</em>&nbsp;</td><td>the key string, eg. "Control+space" </td></tr>
  </table>
</dl>

<p>References <a class="el" href="a00158.html#g1291649b4a4e3fbf3cfbb34ddbfda985">scim::scim_string_to_key()</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="813e35fa10d230a42978c385b22ac865"></a><!-- doxytag: member="scim::KeyEvent::empty" ref="813e35fa10d230a42978c385b22ac865" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::empty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if this <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a> is empty. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if this is a empty event. </dd></dl>

<p>References <a class="el" href="a00179.html#l02090">code</a>, and <a class="el" href="a00179.html#l02091">mask</a>.</p>

</div>
</div><p>
<a class="anchor" name="920dab05f738c4a44a6333029c0ff573"></a><!-- doxytag: member="scim::KeyEvent::get_ascii_code" ref="920dab05f738c4a44a6333029c0ff573" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char scim::KeyEvent::get_ascii_code           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the ascii code of this key event. 
<p>
Not all key events have ascii codes.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the ascii code of this key event. Zero means no ascii code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="30b4a41faafd7191ebb45bad4051e3a2"></a><!-- doxytag: member="scim::KeyEvent::get_unicode_code" ref="30b4a41faafd7191ebb45bad4051e3a2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00157.html#34ddb69b99962cd0e75941288f8b2ee8">ucs4_t</a> scim::KeyEvent::get_unicode_code           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the Unicode code of this key event. 
<p>
Not all key events have unicode codes.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The Unicode code of this key event. Zero means no unicode code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="d911998c0a5a652b25be8914a65ac391"></a><!-- doxytag: member="scim::KeyEvent::get_key_string" ref="d911998c0a5a652b25be8914a65ac391" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00157.html#e6432a785654dd7fbfe52e8dd8cd7799">String</a> scim::KeyEvent::get_key_string           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the string of this key event. 
<p>
Not all key events can be converted to string.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The string of this key event. </dd></dl>

</div>
</div><p>
<a class="anchor" name="4422dcf004521aeec1d83bc60f921352"></a><!-- doxytag: member="scim::KeyEvent::map_to_layout" ref="4422dcf004521aeec1d83bc60f921352" args="(KeyboardLayout new_layout) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00054.html">KeyEvent</a> scim::KeyEvent::map_to_layout           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00158.html#gdf7cdb9ca5b7dc43b056b5e5e715e570">KeyboardLayout</a>&nbsp;</td>
          <td class="paramname"> <em>new_layout</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Map this <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a> to another Keyboard Layout. 
<p>
This function only covers the key range of default US PC keyboard. All additional keys in other layouts will never be mapped.<p>
If the current layout is Unknown or the new_layout is invalid or it's an Unicode embedded <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a>, then it'll not be mapped and the identical <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a> will be returned.<p>
If you want to check if the mapping is successful, just compare the layout of returned <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a> and new_layout to see if they are equal.<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>new_layout</em>&nbsp;</td><td>The Keyboard Layout to be mapped to.</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new <a class="el" href="a00054.html" title="The class to store a keyboard event.">KeyEvent</a> according to the given layout. </dd></dl>

</div>
</div><p>
<a class="anchor" name="8df6b6011ddb0d935b193165b65262ff"></a><!-- doxytag: member="scim::KeyEvent::is_shift_down" ref="8df6b6011ddb0d935b193165b65262ff" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_shift_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the Shift key is pressed down. 
<p>

<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00053">scim::SCIM_KEY_ShiftMask</a>.</p>

</div>
</div><p>
<a class="anchor" name="1382e3dd1e06126b6b189af7aa9ac6f2"></a><!-- doxytag: member="scim::KeyEvent::is_caps_lock_down" ref="1382e3dd1e06126b6b189af7aa9ac6f2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_caps_lock_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the CapsLock key is pressed down. 
<p>

<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00054">scim::SCIM_KEY_CapsLockMask</a>.</p>

</div>
</div><p>
<a class="anchor" name="6eb03c0c7c9e694948c99a0c9ddac060"></a><!-- doxytag: member="scim::KeyEvent::is_control_down" ref="6eb03c0c7c9e694948c99a0c9ddac060" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_control_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the Ctrl key is pressed down. 
<p>

<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00055">scim::SCIM_KEY_ControlMask</a>.</p>

</div>
</div><p>
<a class="anchor" name="e09489a98fc9500b31d97030bc7259df"></a><!-- doxytag: member="scim::KeyEvent::is_alt_down" ref="e09489a98fc9500b31d97030bc7259df" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_alt_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the Alt key is pressed down. 
<p>

<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00056">scim::SCIM_KEY_AltMask</a>.</p>

</div>
</div><p>
<a class="anchor" name="095aa4de5715c8f7e7d9d0b885e36fe4"></a><!-- doxytag: member="scim::KeyEvent::is_meta_down" ref="095aa4de5715c8f7e7d9d0b885e36fe4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_meta_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the Meta key is pressed down. 
<p>

<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00057">scim::SCIM_KEY_MetaMask</a>.</p>

</div>
</div><p>
<a class="anchor" name="5a79b198fe44411203b5a4cd3f52c5e1"></a><!-- doxytag: member="scim::KeyEvent::is_super_down" ref="5a79b198fe44411203b5a4cd3f52c5e1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_super_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the Super key is pressed down. 
<p>

<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00058">scim::SCIM_KEY_SuperMask</a>.</p>

</div>
</div><p>
<a class="anchor" name="ae2e9eff3c5be1a7059658fde3dcc5f8"></a><!-- doxytag: member="scim::KeyEvent::is_hyper_down" ref="ae2e9eff3c5be1a7059658fde3dcc5f8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_hyper_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the Hyper key is pressed down. 
<p>

<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00059">scim::SCIM_KEY_HyperMask</a>.</p>

</div>
</div><p>
<a class="anchor" name="957736403170a48f0648bbc47e23391e"></a><!-- doxytag: member="scim::KeyEvent::is_num_lock_down" ref="957736403170a48f0648bbc47e23391e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_num_lock_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the num lock key is pressed down. 
<p>

<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00060">scim::SCIM_KEY_NumLockMask</a>.</p>

</div>
</div><p>
<a class="anchor" name="53e21b362c405e60b6c237439202ad62"></a><!-- doxytag: member="scim::KeyEvent::is_key_press" ref="53e21b362c405e60b6c237439202ad62" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_key_press           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if it's a key press event. 
<p>

<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00072">scim::SCIM_KEY_ReleaseMask</a>.</p>

</div>
</div><p>
<a class="anchor" name="45225ae728ff31bb061181b7afc4beda"></a><!-- doxytag: member="scim::KeyEvent::is_key_release" ref="45225ae728ff31bb061181b7afc4beda" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_key_release           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if it's a key release event. 
<p>

<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00072">scim::SCIM_KEY_ReleaseMask</a>.</p>

</div>
</div><p>
<a class="anchor" name="c9fbb8f24ac30a6232ddf61cb759d18e"></a><!-- doxytag: member="scim::KeyEvent::operator==" ref="c9fbb8f24ac30a6232ddf61cb759d18e" args="(const KeyEvent &amp;key) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::operator==           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00054.html">KeyEvent</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compare two key events. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if they are equal. </dd></dl>

<p>References <a class="el" href="a00179.html#l02090">code</a>, and <a class="el" href="a00179.html#l02091">mask</a>.</p>

</div>
</div><p>
<a class="anchor" name="78ff7cc7439daac8492844329bb93063"></a><!-- doxytag: member="scim::KeyEvent::operator!=" ref="78ff7cc7439daac8492844329bb93063" args="(const KeyEvent &amp;key) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::operator!=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00054.html">KeyEvent</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compare two key events. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if they are not equal. </dd></dl>

<p>References <a class="el" href="a00179.html#l02090">code</a>, and <a class="el" href="a00179.html#l02091">mask</a>.</p>

</div>
</div><p>
<a class="anchor" name="ca51e7e0bb51624dd432eebf0dce2d2d"></a><!-- doxytag: member="scim::KeyEvent::operator&lt;" ref="ca51e7e0bb51624dd432eebf0dce2d2d" args="(const KeyEvent &amp;key) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::operator&lt;           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00054.html">KeyEvent</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>key</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compare two key events. 
<p>
This operator is mainly for sorting.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if the first is smaller. </dd></dl>

<p>References <a class="el" href="a00179.html#l02090">code</a>, and <a class="el" href="a00179.html#l02091">mask</a>.</p>

</div>
</div><p>
<a class="anchor" name="536de9d7edc960d09b48874d9c4e8d1d"></a><!-- doxytag: member="scim::KeyEvent::is_lock_down" ref="536de9d7edc960d09b48874d9c4e8d1d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_lock_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the lock key is pressed down. 
<p>
For backward API compatibility, do not use it in new code. 
<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00062">scim::SCIM_KEY_LockMask</a>.</p>

</div>
</div><p>
<a class="anchor" name="2367fd10402f697c951c8f06a1ab5d9a"></a><!-- doxytag: member="scim::KeyEvent::is_mod1_down" ref="2367fd10402f697c951c8f06a1ab5d9a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_mod1_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the mod1 key is pressed down. 
<p>
For backward API compatibility, do not use it in new code. 
<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00063">scim::SCIM_KEY_Mod1Mask</a>.</p>

</div>
</div><p>
<a class="anchor" name="976cee2079a0e8409f14c39d141c22d5"></a><!-- doxytag: member="scim::KeyEvent::is_mod2_down" ref="976cee2079a0e8409f14c39d141c22d5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_mod2_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the mod2 key is pressed down. 
<p>
For backward API compatibility, do not use it in new code. 
<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00064">scim::SCIM_KEY_Mod2Mask</a>.</p>

</div>
</div><p>
<a class="anchor" name="a7ec4b60dad32f141fba6192a8af3327"></a><!-- doxytag: member="scim::KeyEvent::is_mod3_down" ref="a7ec4b60dad32f141fba6192a8af3327" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_mod3_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the mod3 key is pressed down. 
<p>
For backward API compatibility, do not use it in new code. 
<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00065">scim::SCIM_KEY_Mod3Mask</a>.</p>

</div>
</div><p>
<a class="anchor" name="cafc13e337f5f08f09eed275aab8e61a"></a><!-- doxytag: member="scim::KeyEvent::is_mod4_down" ref="cafc13e337f5f08f09eed275aab8e61a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_mod4_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the mod4 key is pressed down. 
<p>
For backward API compatibility, do not use it in new code. 
<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00066">scim::SCIM_KEY_Mod4Mask</a>.</p>

</div>
</div><p>
<a class="anchor" name="2cba168fb1c3b843e81a603d931a90ad"></a><!-- doxytag: member="scim::KeyEvent::is_mod5_down" ref="2cba168fb1c3b843e81a603d931a90ad" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_mod5_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the mod5 key is pressed down. 
<p>
For backward API compatibility, do not use it in new code. 
<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00067">scim::SCIM_KEY_Mod5Mask</a>.</p>

</div>
</div><p>
<a class="anchor" name="d511598b90efaf6f6b55878457cbbbaa"></a><!-- doxytag: member="scim::KeyEvent::is_scroll_lock_down" ref="d511598b90efaf6f6b55878457cbbbaa" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool scim::KeyEvent::is_scroll_lock_down           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the scroll lock key is pressed down. 
<p>
For backward API compatibility, do not use it in new code. 
<p>References <a class="el" href="a00179.html#l02091">mask</a>, and <a class="el" href="a00179.html#l00068">scim::SCIM_KEY_ScrollLockMask</a>.</p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="d84f43542fa75f80447e2cbe4f687dbb"></a><!-- doxytag: member="scim::KeyEvent::code" ref="d84f43542fa75f80447e2cbe4f687dbb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00157.html#984ae8c1b52846cf538b7f936193d590">uint32</a> <a class="el" href="a00054.html#d84f43542fa75f80447e2cbe4f687dbb">scim::KeyEvent::code</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
key code 
<p>Referenced by <a class="el" href="a00179.html#l02115">empty()</a>, <a class="el" href="a00179.html#l02230">operator!=()</a>, <a class="el" href="a00179.html#l02241">operator&lt;()</a>, and <a class="el" href="a00179.html#l02222">operator==()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f96d887cbb009a16224ab980dc0548eb"></a><!-- doxytag: member="scim::KeyEvent::mask" ref="f96d887cbb009a16224ab980dc0548eb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00157.html#f386a2f47839e4dc17f4e9c3f97b3dc4">uint16</a> <a class="el" href="a00054.html#f96d887cbb009a16224ab980dc0548eb">scim::KeyEvent::mask</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
modifier keys' mask 
<p>Referenced by <a class="el" href="a00179.html#l02115">empty()</a>, <a class="el" href="a00179.html#l02186">is_alt_down()</a>, <a class="el" href="a00179.html#l02176">is_caps_lock_down()</a>, <a class="el" href="a00179.html#l02181">is_control_down()</a>, <a class="el" href="a00179.html#l02201">is_hyper_down()</a>, <a class="el" href="a00179.html#l02211">is_key_press()</a>, <a class="el" href="a00179.html#l02216">is_key_release()</a>, <a class="el" href="a00179.html#l02251">is_lock_down()</a>, <a class="el" href="a00179.html#l02191">is_meta_down()</a>, <a class="el" href="a00179.html#l02258">is_mod1_down()</a>, <a class="el" href="a00179.html#l02265">is_mod2_down()</a>, <a class="el" href="a00179.html#l02272">is_mod3_down()</a>, <a class="el" href="a00179.html#l02279">is_mod4_down()</a>, <a class="el" href="a00179.html#l02286">is_mod5_down()</a>, <a class="el" href="a00179.html#l02206">is_num_lock_down()</a>, <a class="el" href="a00179.html#l02293">is_scroll_lock_down()</a>, <a class="el" href="a00179.html#l02171">is_shift_down()</a>, <a class="el" href="a00179.html#l02196">is_super_down()</a>, <a class="el" href="a00179.html#l02230">operator!=()</a>, <a class="el" href="a00179.html#l02241">operator&lt;()</a>, and <a class="el" href="a00179.html#l02222">operator==()</a>.</p>

</div>
</div><p>
<a class="anchor" name="db9b2de7999fd4942359450d275dd9ec"></a><!-- doxytag: member="scim::KeyEvent::layout" ref="db9b2de7999fd4942359450d275dd9ec" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00157.html#f386a2f47839e4dc17f4e9c3f97b3dc4">uint16</a> <a class="el" href="a00054.html#db9b2de7999fd4942359450d275dd9ec">scim::KeyEvent::layout</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
keyboard layout identifier 
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="a00123.html">scim_event.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Apr 19 13:02:39 2009 for scim by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address>
</body>
</html>