<!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 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 List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class 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 <scim_event.h></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"> </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"> </td><td class="mdescRight">Default constructor. <a href="#555611a8e34de239896d5025888a9705"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </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> &str)</td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#813e35fa10d230a42978c385b22ac865">empty</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#920dab05f738c4a44a6333029c0ff573">get_ascii_code</a> () const </td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#30b4a41faafd7191ebb45bad4051e3a2">get_unicode_code</a> () const </td></tr> <tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#d911998c0a5a652b25be8914a65ac391">get_key_string</a> () const </td></tr> <tr><td class="mdescLeft"> </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> </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#8df6b6011ddb0d935b193165b65262ff">is_shift_down</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#6eb03c0c7c9e694948c99a0c9ddac060">is_control_down</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#e09489a98fc9500b31d97030bc7259df">is_alt_down</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#095aa4de5715c8f7e7d9d0b885e36fe4">is_meta_down</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#5a79b198fe44411203b5a4cd3f52c5e1">is_super_down</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#ae2e9eff3c5be1a7059658fde3dcc5f8">is_hyper_down</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#53e21b362c405e60b6c237439202ad62">is_key_press</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#45225ae728ff31bb061181b7afc4beda">is_key_release</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#c9fbb8f24ac30a6232ddf61cb759d18e">operator==</a> (const <a class="el" href="a00054.html">KeyEvent</a> &key) const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#78ff7cc7439daac8492844329bb93063">operator!=</a> (const <a class="el" href="a00054.html">KeyEvent</a> &key) const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#ca51e7e0bb51624dd432eebf0dce2d2d">operator<</a> (const <a class="el" href="a00054.html">KeyEvent</a> &key) const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#536de9d7edc960d09b48874d9c4e8d1d">is_lock_down</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#2367fd10402f697c951c8f06a1ab5d9a">is_mod1_down</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#976cee2079a0e8409f14c39d141c22d5">is_mod2_down</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#a7ec4b60dad32f141fba6192a8af3327">is_mod3_down</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#cafc13e337f5f08f09eed275aab8e61a">is_mod4_down</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00054.html#2cba168fb1c3b843e81a603d931a90ad">is_mod5_down</a> () const </td></tr> <tr><td class="mdescLeft"> </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 </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"> </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> </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> </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> </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 & 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> </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> </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> </td> <td class="paramname"> <em>l</em> = <code>0</code></td><td> </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> </td><td>- the key code. </td></tr> <tr><td valign="top"></td><td valign="top"><em>m</em> </td><td>- the key masks. </td></tr> <tr><td valign="top"></td><td valign="top"><em>l</em> </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 &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> & </td> <td class="paramname"> <em>str</em> </td> <td> ) </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> </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> ) </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> ) </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> ) </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> ) </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> </td> <td class="paramname"> <em>new_layout</em> </td> <td> ) </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> </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> ) </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> ) </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> ) </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> ) </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> ) </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> ) </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> ) </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> ) </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> ) </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> ) </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 &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> & </td> <td class="paramname"> <em>key</em> </td> <td> ) </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 &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> & </td> <td class="paramname"> <em>key</em> </td> <td> ) </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<" ref="ca51e7e0bb51624dd432eebf0dce2d2d" args="(const KeyEvent &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> & </td> <td class="paramname"> <em>key</em> </td> <td> ) </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> ) </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> ) </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> ) </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> ) </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> ) </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> ) </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> ) </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<()</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<()</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 <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>