Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-release > by-pkgid > 214521e40ee5c5cbd07b2ea0b909bd01 > files > 67

libxkbcommon-doc-0.8.4-1.mga7.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libxkbcommon: xkbcommon/xkbcommon.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-extra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libxkbcommon
   &#160;<span id="projectnumber">0.8.4</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_34c01ee884f305be60d2204fef47a48f.html">xkbcommon</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xkbcommon.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br />
<code>#include &lt;stdio.h&gt;</code><br />
<code>#include &lt;stdarg.h&gt;</code><br />
<code>#include &lt;<a class="el" href="xkbcommon-names_8h.html">xkbcommon/xkbcommon-names.h</a>&gt;</code><br />
<code>#include &lt;xkbcommon/xkbcommon-keysyms.h&gt;</code><br />
<code>#include &lt;xkbcommon/xkbcommon-compat.h&gt;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxkb__rule__names.html">xkb_rule_names</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:acd79001528b877e20b4e6763a7655337"><td class="memItemLeft" align="right" valign="top"><a id="acd79001528b877e20b4e6763a7655337"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XKB_KEYCODE_INVALID</b>&#160;&#160;&#160;(0xffffffff)</td></tr>
<tr class="separator:acd79001528b877e20b4e6763a7655337"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a028e8382ce57877f674e16895ff9a34a"><td class="memItemLeft" align="right" valign="top"><a id="a028e8382ce57877f674e16895ff9a34a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XKB_LAYOUT_INVALID</b>&#160;&#160;&#160;(0xffffffff)</td></tr>
<tr class="separator:a028e8382ce57877f674e16895ff9a34a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fb9cf8dc2c7635cc412cf121cd94b72"><td class="memItemLeft" align="right" valign="top"><a id="a9fb9cf8dc2c7635cc412cf121cd94b72"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XKB_LEVEL_INVALID</b>&#160;&#160;&#160;(0xffffffff)</td></tr>
<tr class="separator:a9fb9cf8dc2c7635cc412cf121cd94b72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa212b715e867b6448848f4581d420873"><td class="memItemLeft" align="right" valign="top"><a id="aa212b715e867b6448848f4581d420873"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XKB_MOD_INVALID</b>&#160;&#160;&#160;(0xffffffff)</td></tr>
<tr class="separator:aa212b715e867b6448848f4581d420873"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f3672ad9db8f7d2faecb95be4d9d36f"><td class="memItemLeft" align="right" valign="top"><a id="a0f3672ad9db8f7d2faecb95be4d9d36f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XKB_LED_INVALID</b>&#160;&#160;&#160;(0xffffffff)</td></tr>
<tr class="separator:a0f3672ad9db8f7d2faecb95be4d9d36f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab244b34e7119ffda9ec46561a6090c22"><td class="memItemLeft" align="right" valign="top"><a id="ab244b34e7119ffda9ec46561a6090c22"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XKB_KEYCODE_MAX</b>&#160;&#160;&#160;(0xffffffff - 1)</td></tr>
<tr class="separator:ab244b34e7119ffda9ec46561a6090c22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9165d481223d8613a57ba3ab7b2d6561"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xkbcommon_8h.html#a9165d481223d8613a57ba3ab7b2d6561">xkb_keycode_is_legal_ext</a>(key)&#160;&#160;&#160;(key &lt;= XKB_KEYCODE_MAX)</td></tr>
<tr class="separator:a9165d481223d8613a57ba3ab7b2d6561"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ec2305fc16e781f6e7521c3a48b2560"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xkbcommon_8h.html#a3ec2305fc16e781f6e7521c3a48b2560">xkb_keycode_is_legal_x11</a>(key)&#160;&#160;&#160;(key &gt;= 8 &amp;&amp; key &lt;= 255)</td></tr>
<tr class="separator:a3ec2305fc16e781f6e7521c3a48b2560"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95e4461eb947cc61c3574ee4f0d24fb6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__keymap.html#ga95e4461eb947cc61c3574ee4f0d24fb6">XKB_KEYMAP_USE_ORIGINAL_FORMAT</a>&#160;&#160;&#160;((enum <a class="el" href="group__keymap.html#gab0f75d6cc5773e5dd404e2c3f61366a3">xkb_keymap_format</a>) -1)</td></tr>
<tr class="separator:ga95e4461eb947cc61c3574ee4f0d24fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ac29aee92124c08d1953910ab28ee1997"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xkbcommon_8h.html#ac29aee92124c08d1953910ab28ee1997">xkb_keycode_t</a></td></tr>
<tr class="separator:ac29aee92124c08d1953910ab28ee1997"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79e604a22703391bdfe212cfc10ea007"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a></td></tr>
<tr class="separator:a79e604a22703391bdfe212cfc10ea007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad37512642806c55955e1cd5a30efcc39"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xkbcommon_8h.html#ad37512642806c55955e1cd5a30efcc39">xkb_layout_index_t</a></td></tr>
<tr class="separator:ad37512642806c55955e1cd5a30efcc39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6085a8a420ab3c682339e36908b8a20"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xkbcommon_8h.html#ac6085a8a420ab3c682339e36908b8a20">xkb_layout_mask_t</a></td></tr>
<tr class="separator:ac6085a8a420ab3c682339e36908b8a20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7eb38bea2a311b6ff033816278d5bbea"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xkbcommon_8h.html#a7eb38bea2a311b6ff033816278d5bbea">xkb_level_index_t</a></td></tr>
<tr class="separator:a7eb38bea2a311b6ff033816278d5bbea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a638bf7a52db06f383ce5a4ef99dfe539"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xkbcommon_8h.html#a638bf7a52db06f383ce5a4ef99dfe539">xkb_mod_index_t</a></td></tr>
<tr class="separator:a638bf7a52db06f383ce5a4ef99dfe539"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41b3ee62ae73ec041b68165bf97869e8"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xkbcommon_8h.html#a41b3ee62ae73ec041b68165bf97869e8">xkb_mod_mask_t</a></td></tr>
<tr class="separator:a41b3ee62ae73ec041b68165bf97869e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6e951bdbcba8fb7e2532a8ebc6c9c87"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xkbcommon_8h.html#af6e951bdbcba8fb7e2532a8ebc6c9c87">xkb_led_index_t</a></td></tr>
<tr class="separator:af6e951bdbcba8fb7e2532a8ebc6c9c87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80b29b1b6c793f9632f48a65a782f71e"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xkbcommon_8h.html#a80b29b1b6c793f9632f48a65a782f71e">xkb_led_mask_t</a></td></tr>
<tr class="separator:a80b29b1b6c793f9632f48a65a782f71e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga0b4e78037b911489b68fe8b2a11f5487"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__keysyms.html#ga0b4e78037b911489b68fe8b2a11f5487">xkb_keysym_flags</a> { <br />
&#160;&#160;<a class="el" href="group__keysyms.html#gga0b4e78037b911489b68fe8b2a11f5487aee9f9c3544dfdc3db42aa85e4f4d3f32">XKB_KEYSYM_NO_FLAGS</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__keysyms.html#gga0b4e78037b911489b68fe8b2a11f5487a9f7133fedc8e627fe663021ea7d9087d">XKB_KEYSYM_CASE_INSENSITIVE</a> = (1 &lt;&lt; 0)
<br />
 }</td></tr>
<tr class="separator:ga0b4e78037b911489b68fe8b2a11f5487"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea2acb5b9e06239e20a7c34f5b223092"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#gaea2acb5b9e06239e20a7c34f5b223092">xkb_context_flags</a> { <br />
&#160;&#160;<a class="el" href="group__context.html#ggaea2acb5b9e06239e20a7c34f5b223092a52382673b85690e1990796b1c9c20538">XKB_CONTEXT_NO_FLAGS</a> = 0, 
<br />
&#160;&#160;<a class="el" href="group__context.html#ggaea2acb5b9e06239e20a7c34f5b223092a8a5fa2136c435d7f336731d8bae21cf8">XKB_CONTEXT_NO_DEFAULT_INCLUDES</a> = (1 &lt;&lt; 0), 
<br />
&#160;&#160;<a class="el" href="group__context.html#ggaea2acb5b9e06239e20a7c34f5b223092a666e72d87e14b18903353685813d9033">XKB_CONTEXT_NO_ENVIRONMENT_NAMES</a> = (1 &lt;&lt; 1)
<br />
 }</td></tr>
<tr class="separator:gaea2acb5b9e06239e20a7c34f5b223092"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f345bcb71a7f68c53ab93ec3698ed35"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__logging.html#ga6f345bcb71a7f68c53ab93ec3698ed35">xkb_log_level</a> { <br />
&#160;&#160;<a class="el" href="group__logging.html#gga6f345bcb71a7f68c53ab93ec3698ed35a1e80d86459fc93c4636c3a9b1289bca0">XKB_LOG_LEVEL_CRITICAL</a> = 10, 
<br />
&#160;&#160;<a class="el" href="group__logging.html#gga6f345bcb71a7f68c53ab93ec3698ed35a09ff197e318534efe61dd48c29cb690f">XKB_LOG_LEVEL_ERROR</a> = 20, 
<br />
&#160;&#160;<a class="el" href="group__logging.html#gga6f345bcb71a7f68c53ab93ec3698ed35ab7448e4d3303efe7ed392b50acc38816">XKB_LOG_LEVEL_WARNING</a> = 30, 
<br />
&#160;&#160;<a class="el" href="group__logging.html#gga6f345bcb71a7f68c53ab93ec3698ed35aa70f811301fcaff421d979461ae8a485">XKB_LOG_LEVEL_INFO</a> = 40, 
<br />
&#160;&#160;<a class="el" href="group__logging.html#gga6f345bcb71a7f68c53ab93ec3698ed35aab7c90eb9df48ca2842e59f5f588cec4">XKB_LOG_LEVEL_DEBUG</a> = 50
<br />
 }</td></tr>
<tr class="separator:ga6f345bcb71a7f68c53ab93ec3698ed35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad418fa5861e00b37c362075a380299b2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__keymap.html#gad418fa5861e00b37c362075a380299b2">xkb_keymap_compile_flags</a> { <a class="el" href="group__keymap.html#ggad418fa5861e00b37c362075a380299b2ae274bf0a09997d395e712156b0dbf7fa">XKB_KEYMAP_COMPILE_NO_FLAGS</a> = 0
 }</td></tr>
<tr class="separator:gad418fa5861e00b37c362075a380299b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0f75d6cc5773e5dd404e2c3f61366a3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__keymap.html#gab0f75d6cc5773e5dd404e2c3f61366a3">xkb_keymap_format</a> { <a class="el" href="group__keymap.html#ggab0f75d6cc5773e5dd404e2c3f61366a3ad63ee709a87611a89b42c3e1275347ed">XKB_KEYMAP_FORMAT_TEXT_V1</a> = 1
 }</td></tr>
<tr class="separator:gab0f75d6cc5773e5dd404e2c3f61366a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga631f03db07f30774659ab3f787b152e7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__state.html#ga631f03db07f30774659ab3f787b152e7">xkb_key_direction</a> { <br />
&#160;&#160;<a class="el" href="group__state.html#gga631f03db07f30774659ab3f787b152e7aa685cb474cd090014d1049f74c3e3ec5">XKB_KEY_UP</a>, 
<br />
&#160;&#160;<a class="el" href="group__state.html#gga631f03db07f30774659ab3f787b152e7a10b02b45f1fceae1b43bc69162f84678">XKB_KEY_DOWN</a>
<br />
 }</td></tr>
<tr class="separator:ga631f03db07f30774659ab3f787b152e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04e8eac0666cc64dee6f0d5a7a773a03"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__state.html#ga04e8eac0666cc64dee6f0d5a7a773a03">xkb_state_component</a> { <br />
&#160;&#160;<a class="el" href="group__state.html#gga04e8eac0666cc64dee6f0d5a7a773a03a82fc290363aaa579fa4957c7a72b8ce6">XKB_STATE_MODS_DEPRESSED</a> = (1 &lt;&lt; 0), 
<br />
&#160;&#160;<a class="el" href="group__state.html#gga04e8eac0666cc64dee6f0d5a7a773a03af95b6c2b4979c32588abe8a960351434">XKB_STATE_MODS_LATCHED</a> = (1 &lt;&lt; 1), 
<br />
&#160;&#160;<a class="el" href="group__state.html#gga04e8eac0666cc64dee6f0d5a7a773a03a95d6c496c78b6da162f7c78fbfc22bbc">XKB_STATE_MODS_LOCKED</a> = (1 &lt;&lt; 2), 
<br />
&#160;&#160;<a class="el" href="group__state.html#gga04e8eac0666cc64dee6f0d5a7a773a03a2357b9f2490e89ab2d549695ea49de4f">XKB_STATE_MODS_EFFECTIVE</a> = (1 &lt;&lt; 3), 
<br />
&#160;&#160;<a class="el" href="group__state.html#gga04e8eac0666cc64dee6f0d5a7a773a03ae2030e8ff7db5ee988920633e2b08e88">XKB_STATE_LAYOUT_DEPRESSED</a> = (1 &lt;&lt; 4), 
<br />
&#160;&#160;<a class="el" href="group__state.html#gga04e8eac0666cc64dee6f0d5a7a773a03aaed45ef0bd8de351e096178c9b559345">XKB_STATE_LAYOUT_LATCHED</a> = (1 &lt;&lt; 5), 
<br />
&#160;&#160;<a class="el" href="group__state.html#gga04e8eac0666cc64dee6f0d5a7a773a03a8b3f6503e09ad7a43a3be092cc7cfaca">XKB_STATE_LAYOUT_LOCKED</a> = (1 &lt;&lt; 6), 
<br />
&#160;&#160;<a class="el" href="group__state.html#gga04e8eac0666cc64dee6f0d5a7a773a03a751a3a712f1a25225e13114266b29726">XKB_STATE_LAYOUT_EFFECTIVE</a> = (1 &lt;&lt; 7), 
<br />
&#160;&#160;<a class="el" href="group__state.html#gga04e8eac0666cc64dee6f0d5a7a773a03a9d22ee4abdad31a3e24afdede62c3c6d">XKB_STATE_LEDS</a> = (1 &lt;&lt; 8)
<br />
 }</td></tr>
<tr class="separator:ga04e8eac0666cc64dee6f0d5a7a773a03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf79b475eb908309ae1aa0e231b2c9aa8"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__state.html#gaf79b475eb908309ae1aa0e231b2c9aa8">xkb_state_match</a> { <br />
&#160;&#160;<a class="el" href="group__state.html#ggaf79b475eb908309ae1aa0e231b2c9aa8acc8bf019ef4abad1eff3762ab67fd1cf">XKB_STATE_MATCH_ANY</a> = (1 &lt;&lt; 0), 
<br />
&#160;&#160;<a class="el" href="group__state.html#ggaf79b475eb908309ae1aa0e231b2c9aa8a22afd2884474ad692b580a8b91413b5f">XKB_STATE_MATCH_ALL</a> = (1 &lt;&lt; 1), 
<br />
&#160;&#160;<a class="el" href="group__state.html#ggaf79b475eb908309ae1aa0e231b2c9aa8a4ae1c11ddb747718871afb24adbfb0d6">XKB_STATE_MATCH_NON_EXCLUSIVE</a> = (1 &lt;&lt; 16)
<br />
 }</td></tr>
<tr class="separator:gaf79b475eb908309ae1aa0e231b2c9aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66c3ae7ebaf4ccd60e5dab61dc1c29fb"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__state.html#ga66c3ae7ebaf4ccd60e5dab61dc1c29fb">xkb_consumed_mode</a> { <br />
&#160;&#160;<a class="el" href="group__state.html#gga66c3ae7ebaf4ccd60e5dab61dc1c29fba14b9cdb7b905f3fdd7b0abcae2f597b1">XKB_CONSUMED_MODE_XKB</a>, 
<br />
&#160;&#160;<a class="el" href="group__state.html#gga66c3ae7ebaf4ccd60e5dab61dc1c29fba5e01146412303501dc7db2c2cf5c48d4">XKB_CONSUMED_MODE_GTK</a>
<br />
 }</td></tr>
<tr class="separator:ga66c3ae7ebaf4ccd60e5dab61dc1c29fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga63456bb7e56a2e7a3e02de86b19900ef"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__keysyms.html#ga63456bb7e56a2e7a3e02de86b19900ef">xkb_keysym_get_name</a> (<a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a> keysym, char *buffer, size_t size)</td></tr>
<tr class="separator:ga63456bb7e56a2e7a3e02de86b19900ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6b3273c0a82876bba5bd59958358fbe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__keysyms.html#gad6b3273c0a82876bba5bd59958358fbe">xkb_keysym_from_name</a> (const char *name, enum <a class="el" href="group__keysyms.html#ga0b4e78037b911489b68fe8b2a11f5487">xkb_keysym_flags</a> flags)</td></tr>
<tr class="separator:gad6b3273c0a82876bba5bd59958358fbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5fdd795b5799f131866cb1c5315af81f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__keysyms.html#ga5fdd795b5799f131866cb1c5315af81f">xkb_keysym_to_utf8</a> (<a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a> keysym, char *buffer, size_t size)</td></tr>
<tr class="separator:ga5fdd795b5799f131866cb1c5315af81f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga198462d79271d614c43040595bbe2364"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__keysyms.html#ga198462d79271d614c43040595bbe2364">xkb_keysym_to_utf32</a> (<a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a> keysym)</td></tr>
<tr class="separator:ga198462d79271d614c43040595bbe2364"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb8dd4c4bb509549ad5e9d7b9218d23f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__keysyms.html#gafb8dd4c4bb509549ad5e9d7b9218d23f">xkb_keysym_to_upper</a> (<a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a> ks)</td></tr>
<tr class="separator:gafb8dd4c4bb509549ad5e9d7b9218d23f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga01d360f80340194f786f4f7b02d037e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__keysyms.html#ga01d360f80340194f786f4f7b02d037e9">xkb_keysym_to_lower</a> (<a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a> ks)</td></tr>
<tr class="separator:ga01d360f80340194f786f4f7b02d037e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Main libxkbcommon API. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a9165d481223d8613a57ba3ab7b2d6561"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9165d481223d8613a57ba3ab7b2d6561">&#9670;&nbsp;</a></span>xkb_keycode_is_legal_ext</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xkb_keycode_is_legal_ext</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key</td><td>)</td>
          <td>&#160;&#160;&#160;(key &lt;= XKB_KEYCODE_MAX)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Test whether a value is a valid extended keycode. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="xkbcommon_8h.html#ac29aee92124c08d1953910ab28ee1997" title="A number used to represent a physical key on a keyboard.">xkb_keycode_t</a> </dd></dl>

</div>
</div>
<a id="a3ec2305fc16e781f6e7521c3a48b2560"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ec2305fc16e781f6e7521c3a48b2560">&#9670;&nbsp;</a></span>xkb_keycode_is_legal_x11</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define xkb_keycode_is_legal_x11</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">key</td><td>)</td>
          <td>&#160;&#160;&#160;(key &gt;= 8 &amp;&amp; key &lt;= 255)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Test whether a value is a valid X11 keycode. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="xkbcommon_8h.html#ac29aee92124c08d1953910ab28ee1997" title="A number used to represent a physical key on a keyboard.">xkb_keycode_t</a> </dd></dl>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ac29aee92124c08d1953910ab28ee1997"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac29aee92124c08d1953910ab28ee1997">&#9670;&nbsp;</a></span>xkb_keycode_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="xkbcommon_8h.html#ac29aee92124c08d1953910ab28ee1997">xkb_keycode_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A number used to represent a physical key on a keyboard. </p>
<p>A standard PC-compatible keyboard might have 102 keys. An appropriate keymap would assign each of them a keycode, by which the user should refer to the key throughout the library.</p>
<p>Historically, the X11 protocol, and consequentially the XKB protocol, assign only 8 bits for keycodes. This limits the number of different keys that can be used simultaneously in a single keymap to 256 (disregarding other limitations). This library does not share this limit; keycodes beyond 255 ('extended keycodes') are not treated specially. Keymaps and applications which are compatible with X11 should not use these keycodes.</p>
<p>The values of specific keycodes are determined by the keymap and the underlying input system. For example, with an X11-compatible keymap and Linux evdev scan codes (see linux/input.h), a fixed offset is used:</p>
<p>The keymap defines a canonical name for each key, plus possible aliases. Historically, the XKB protocol restricts these names to at most 4 (ASCII) characters, but this library does not share this limit.</p>
<div class="fragment"><div class="line"><a class="code" href="xkbcommon_8h.html#ac29aee92124c08d1953910ab28ee1997">xkb_keycode_t</a> keycode_A = KEY_A + 8;</div></div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="xkbcommon_8h.html#a9165d481223d8613a57ba3ab7b2d6561" title="Test whether a value is a valid extended keycode.">xkb_keycode_is_legal_ext()</a> <a class="el" href="xkbcommon_8h.html#a3ec2305fc16e781f6e7521c3a48b2560" title="Test whether a value is a valid X11 keycode.">xkb_keycode_is_legal_x11()</a> </dd></dl>

</div>
</div>
<a id="a79e604a22703391bdfe212cfc10ea007"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79e604a22703391bdfe212cfc10ea007">&#9670;&nbsp;</a></span>xkb_keysym_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A number used to represent the symbols generated from a key on a keyboard. </p>
<p>A key, represented by a keycode, may generate different symbols according to keyboard state. For example, on a QWERTY keyboard, pressing the key labled &lt;A&gt; generates the symbol 'a'. If the Shift key is held, it generates the symbol 'A'. If a different layout is used, say Greek, it generates the symbol 'α'. And so on.</p>
<p>Each such symbol is represented by a keysym. Note that keysyms are somewhat more general, in that they can also represent some "function", such as "Left" or "Right" for the arrow keys. For more information, see: <a href="https://www.x.org/releases/current/doc/xproto/x11protocol.html#keysym_encoding">https://www.x.org/releases/current/doc/xproto/x11protocol.html#keysym_encoding</a></p>
<p>Specifically named keysyms can be found in the xkbcommon/xkbcommon-keysyms.h header file. Their name does not include the XKB_KEY_ prefix.</p>
<p>Besides those, any Unicode/ISO 10646 character in the range U0100 to U10FFFF can be represented by a keysym value in the range 0x01000100 to 0x0110FFFF. The name of Unicode keysyms is "U&lt;codepoint&gt;", e.g. "UA1B2".</p>
<p>The name of other unnamed keysyms is the hexadecimal representation of their value, e.g. "0xabcd1234".</p>
<p>Keysym names are case-sensitive. </p>

</div>
</div>
<a id="ad37512642806c55955e1cd5a30efcc39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad37512642806c55955e1cd5a30efcc39">&#9670;&nbsp;</a></span>xkb_layout_index_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="xkbcommon_8h.html#ad37512642806c55955e1cd5a30efcc39">xkb_layout_index_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Index of a keyboard layout. </p>
<p>The layout index is a state component which detemines which <em>keyboard layout</em> is active. These may be different alphabets, different key arrangements, etc.</p>
<p>Layout indices are consecutive. The first layout has index 0.</p>
<p>Each layout is not required to have a name, and the names are not guaranteed to be unique (though they are usually provided and unique). Therefore, it is not safe to use the name as a unique identifier for a layout. Layout names are case-sensitive.</p>
<p>Layouts are also called "groups" by XKB.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__components.html#gadb8f3c82d8d1c3bcd8acbe0b378b4c82" title="Get the number of layouts in the keymap.">xkb_keymap_num_layouts()</a> <a class="el" href="group__components.html#gad5d59aef2778a33387ffdaf8f992b689" title="Get the number of layouts for a specific key.">xkb_keymap_num_layouts_for_key()</a> </dd></dl>

</div>
</div>
<a id="ac6085a8a420ab3c682339e36908b8a20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6085a8a420ab3c682339e36908b8a20">&#9670;&nbsp;</a></span>xkb_layout_mask_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="xkbcommon_8h.html#ac6085a8a420ab3c682339e36908b8a20">xkb_layout_mask_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A mask of layout indices. </p>

</div>
</div>
<a id="a7eb38bea2a311b6ff033816278d5bbea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7eb38bea2a311b6ff033816278d5bbea">&#9670;&nbsp;</a></span>xkb_level_index_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="xkbcommon_8h.html#a7eb38bea2a311b6ff033816278d5bbea">xkb_level_index_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Index of a shift level. </p>
<p>Any key, in any layout, can have several <em>shift levels</em>. Each shift level can assign different keysyms to the key. The shift level to use is chosen according to the current keyboard state; for example, if no keys are pressed, the first level may be used; if the Left Shift key is pressed, the second; if Num Lock is pressed, the third; and many such combinations are possible (see xkb_mod_index_t).</p>
<p>Level indices are consecutive. The first level has index 0. </p>

</div>
</div>
<a id="a638bf7a52db06f383ce5a4ef99dfe539"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a638bf7a52db06f383ce5a4ef99dfe539">&#9670;&nbsp;</a></span>xkb_mod_index_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="xkbcommon_8h.html#a638bf7a52db06f383ce5a4ef99dfe539">xkb_mod_index_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Index of a modifier. </p>
<p>A <em>modifier</em> is a state component which changes the way keys are interpreted. A keymap defines a set of modifiers, such as Alt, Shift, Num Lock or Meta, and specifies which keys may <em>activate</em> which modifiers (in a many-to-many relationship, i.e. a key can activate several modifiers, and a modifier may be activated by several keys. Different keymaps do this differently).</p>
<p>When retrieving the keysyms for a key, the active modifier set is consulted; this detemines the correct shift level to use within the currently active layout (see xkb_level_index_t).</p>
<p>Modifier indices are consecutive. The first modifier has index 0.</p>
<p>Each modifier must have a name, and the names are unique. Therefore, it is safe to use the name as a unique identifier for a modifier. The names of some common modifiers are provided in the <a class="el" href="xkbcommon-names_8h.html" title="Predefined names for common modifiers and LEDs.">xkbcommon/xkbcommon-names.h</a> header file. Modifier names are case-sensitive.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__components.html#gaa7fe37876dfca94b6922cbb90ca36864" title="Get the number of modifiers in the keymap.">xkb_keymap_num_mods()</a> </dd></dl>

</div>
</div>
<a id="a41b3ee62ae73ec041b68165bf97869e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41b3ee62ae73ec041b68165bf97869e8">&#9670;&nbsp;</a></span>xkb_mod_mask_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="xkbcommon_8h.html#a41b3ee62ae73ec041b68165bf97869e8">xkb_mod_mask_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A mask of modifier indices. </p>

</div>
</div>
<a id="af6e951bdbcba8fb7e2532a8ebc6c9c87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6e951bdbcba8fb7e2532a8ebc6c9c87">&#9670;&nbsp;</a></span>xkb_led_index_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="xkbcommon_8h.html#af6e951bdbcba8fb7e2532a8ebc6c9c87">xkb_led_index_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Index of a keyboard LED. </p>
<p>LEDs are logical objects which may be <em>active</em> or <em>inactive</em>. They typically correspond to the lights on the keyboard. Their state is determined by the current keyboard state.</p>
<p>LED indices are non-consecutive. The first LED has index 0.</p>
<p>Each LED must have a name, and the names are unique. Therefore, it is safe to use the name as a unique identifier for a LED. The names of some common LEDs are provided in the <a class="el" href="xkbcommon-names_8h.html" title="Predefined names for common modifiers and LEDs.">xkbcommon/xkbcommon-names.h</a> header file. LED names are case-sensitive.</p>
<dl class="section warning"><dt>Warning</dt><dd>A given keymap may specify an exact index for a given LED. Therefore, LED indexing is not necessarily sequential, as opposed to modifiers and layouts. This means that when iterating over the LEDs in a keymap using e.g. <a class="el" href="group__components.html#ga8ee40041d8bca197c7f207ab87f9017d" title="Get the number of LEDs in the keymap.">xkb_keymap_num_leds()</a>, some indices might be invalid. Given such an index, functions like <a class="el" href="group__components.html#ga68b343be93dab76aed47699346f4225e" title="Get the name of a LED by index.">xkb_keymap_led_get_name()</a> will return NULL, and <a class="el" href="group__state.html#gaa5a02e6f26ccd29b95e32d6fcb8f8149" title="Test whether a LED is active in a given keyboard state by index.">xkb_state_led_index_is_active()</a> will return -1.</dd></dl>
<p>LEDs are also called "indicators" by XKB.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__components.html#ga8ee40041d8bca197c7f207ab87f9017d" title="Get the number of LEDs in the keymap.">xkb_keymap_num_leds()</a> </dd></dl>

</div>
</div>
<a id="a80b29b1b6c793f9632f48a65a782f71e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80b29b1b6c793f9632f48a65a782f71e">&#9670;&nbsp;</a></span>xkb_led_mask_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="xkbcommon_8h.html#a80b29b1b6c793f9632f48a65a782f71e">xkb_led_mask_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A mask of LED indices. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>