blob: 17f4592ef19904d8ea16061871e15d04550dfb37 [file] [log] [blame]
{{+bindTo:partials.standard_nacl_api}}
<h1>PP_InputEvent_Character Struct Reference</h1>
<div id="doxygen-ref">
{{- dummy div to appease doxygen -}}
<div>
<!-- Generated by Doxygen 1.7.6.1 -->
</div>
<!--header-->
<div class="contents">
<!-- doxytag: class="PP_InputEvent_Character" --><h2>
Data Fields</h2><table class="memberdecls">
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html#a6505d006cdb0e52d39e94b540b923b9a">modifier</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p___input_event___character.html#a02f4d484985b53e378df8f0281a268ba">text</a> [5]</td></tr>
</table>
<hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>The <code><a class="el" href="struct_p_p___input_event___character.html" title="The PP_InputEvent_Character struct represents a typed character event.">PP_InputEvent_Character</a></code> struct represents a typed character event. </p>
<p>Normally, the program will receive a key down event, followed by a character event, followed by a key up event. The character event will have any modifier keys applied. Obvious examples are symbols, where Shift-5 gives you a ''. The key down and up events will give you the scan code for the "5" key, and the character event will give you the '' character.</p>
<p>You may not get a character event for all key down events if the key doesn't generate a character. Likewise, you may actually get multiple character events in a row. For example, some locales have an accent key that modifies the next character typed. You might get this stream of events: accent down, accent up (it didn't generate a character), letter key down, letter with accent character event (it was modified by the previous accent key), letter key up. If the letter can't be combined with the accent, like an umlaut and an 'R', the system might send umlaut down, umlaut up, 'R' key down, umlaut character (can't combine it with 'R', so just send the raw umlaut so it isn't lost"), 'R' character event, 'R' key up. </p>
</div><hr /><h2>Field Documentation</h2>
<a class="anchor" id="a6505d006cdb0e52d39e94b540b923b9a"></a><!-- doxytag: member="PP_InputEvent_Character::modifier" ref="a6505d006cdb0e52d39e94b540b923b9a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t <a class="el" href="struct_p_p___input_event___character.html#a6505d006cdb0e52d39e94b540b923b9a">PP_InputEvent_Character::modifier</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A combination of the <code>PP_InputEvent_Modifier</code> flags. </p>
</div>
</div>
<a class="anchor" id="a02f4d484985b53e378df8f0281a268ba"></a><!-- doxytag: member="PP_InputEvent_Character::text" ref="a02f4d484985b53e378df8f0281a268ba" args="[5]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int8_t <a class="el" href="struct_p_p___input_event___character.html#a02f4d484985b53e378df8f0281a268ba">PP_InputEvent_Character::text</a>[5]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This value represents the typed character as a single null-terminated UTF-8 character. </p>
<p>Any unused bytes will be filled with null bytes. Since the maximum UTF-8 character is 4 bytes, there will always be at least one null at the end so you can treat this as a null-terminated UTF-8 string. </p>
</div>
</div>
<hr />The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="pp__input__event_8h.html">pp_input_event.h</a></li>
</ul>
</div><!-- contents -->
</div>
{{/partials.standard_nacl_api}}