Sophie

Sophie

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

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: Keysyms</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><!-- top -->
<div class="header">
  <div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Keysyms</div>  </div>
</div><!--header-->
<div class="contents">
<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>
</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>
<p>Utility functions related to keysyms. </p>


<h3><a id="keysym-transformations"></a>Keysym Transformations</h3><div class="textblock">Keysym translation is subject to several "keysym transformations", as described in the XKB specification.These are:<ul>
<li><p class="startli">Capitalization transformation. If the Caps Lock modifier is active and was not consumed by the translation process, a single keysym is transformed to its upper-case form (if applicable). Similarly, the UTF-8/UTF-32 string produced is capitalized.</p>
<p class="startli">This is described in: <a href="https://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Lock_Modifier">https://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Lock_Modifier</a></p>
</li>
<li><p class="startli">Control transformation. If the Control modifier is active and was not consumed by the translation process, the string produced is transformed to its matching ASCII control character (if applicable). Keysyms are not affected.</p>
<p class="startli">This is described in: <a href="https://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Control_Modifier">https://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Control_Modifier</a></p>
</li>
</ul>
Each relevant function discusses which transformations it performs.These transformations are not applicable when a key produces multiple keysyms. </div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga0b4e78037b911489b68fe8b2a11f5487"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0b4e78037b911489b68fe8b2a11f5487">&#9670;&nbsp;</a></span>xkb_keysym_flags</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__keysyms.html#ga0b4e78037b911489b68fe8b2a11f5487">xkb_keysym_flags</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flags for <a class="el" href="group__keysyms.html#gad6b3273c0a82876bba5bd59958358fbe" title="Get a keysym from its name.">xkb_keysym_from_name()</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga0b4e78037b911489b68fe8b2a11f5487aee9f9c3544dfdc3db42aa85e4f4d3f32"></a>XKB_KEYSYM_NO_FLAGS&#160;</td><td class="fielddoc"><p>Do not apply any flags. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga0b4e78037b911489b68fe8b2a11f5487a9f7133fedc8e627fe663021ea7d9087d"></a>XKB_KEYSYM_CASE_INSENSITIVE&#160;</td><td class="fielddoc"><p>Find keysym by case-insensitive search. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga63456bb7e56a2e7a3e02de86b19900ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga63456bb7e56a2e7a3e02de86b19900ef">&#9670;&nbsp;</a></span>xkb_keysym_get_name()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int xkb_keysym_get_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a>&#160;</td>
          <td class="paramname"><em>keysym</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the name of a keysym. </p>
<p>For a description of how keysyms are named, see <a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">keysym</td><td>The keysym. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>A string buffer to write the name into. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>Size of the buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>If the buffer passed is too small, the string is truncated (though still NUL-terminated); a size of at least 64 bytes is recommended.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The number of bytes in the name, excluding the NUL byte. If the keysym is invalid, returns -1.</dd></dl>
<p>You may check if truncation has occurred by comparing the return value with the length of buffer, similarly to the snprintf(3) function.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007" title="A number used to represent the symbols generated from a key on a keyboard.">xkb_keysym_t</a> </dd></dl>

</div>
</div>
<a id="gad6b3273c0a82876bba5bd59958358fbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad6b3273c0a82876bba5bd59958358fbe">&#9670;&nbsp;</a></span>xkb_keysym_from_name()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a> xkb_keysym_from_name </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">enum <a class="el" href="group__keysyms.html#ga0b4e78037b911489b68fe8b2a11f5487">xkb_keysym_flags</a>&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a keysym from its name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of a keysym. See remarks in <a class="el" href="group__keysyms.html#ga63456bb7e56a2e7a3e02de86b19900ef" title="Get the name of a keysym.">xkb_keysym_get_name()</a>; this function will accept any name returned by that function. </td></tr>
    <tr><td class="paramname">flags</td><td>A set of flags controlling how the search is done. If invalid flags are passed, this will fail with XKB_KEY_NoSymbol.</td></tr>
  </table>
  </dd>
</dl>
<p>If you use the XKB_KEYSYM_CASE_INSENSITIVE flag and two keysym names differ only by case, then the lower-case keysym is returned. For instance, for KEY_a and KEY_A, this function would return KEY_a for the case-insensitive search. If this functionality is needed, it is recommended to first call this function without this flag; and if that fails, only then to try with this flag, while possibly warning the user he had misspelled the name, and might get wrong results.</p>
<p>Case folding is done according to the C locale; the current locale is not consulted.</p>
<dl class="section return"><dt>Returns</dt><dd>The keysym. If the name is invalid, returns XKB_KEY_NoSymbol.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007" title="A number used to represent the symbols generated from a key on a keyboard.">xkb_keysym_t</a> </dd></dl>

</div>
</div>
<a id="ga5fdd795b5799f131866cb1c5315af81f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5fdd795b5799f131866cb1c5315af81f">&#9670;&nbsp;</a></span>xkb_keysym_to_utf8()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int xkb_keysym_to_utf8 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a>&#160;</td>
          <td class="paramname"><em>keysym</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the Unicode/UTF-8 representation of a keysym. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">keysym</td><td>The keysym. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">buffer</td><td>A buffer to write the UTF-8 string into. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>The size of buffer. Must be at least 7.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of bytes written to the buffer (including the terminating byte). If the keysym does not have a Unicode representation, returns 0. If the buffer is too small, returns -1.</dd></dl>
<p>This function does not perform any <a class="el" href="group__keysyms.html">Keysym Transformations</a>. Therefore, prefer to use <a class="el" href="group__state.html#ga0774b424063b45c88ec0354c77f9a247" title="Get the Unicode/UTF-8 string obtained from pressing a particular key in a given keyboard state.">xkb_state_key_get_utf8()</a> if possible.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__state.html#ga0774b424063b45c88ec0354c77f9a247" title="Get the Unicode/UTF-8 string obtained from pressing a particular key in a given keyboard state.">xkb_state_key_get_utf8()</a> </dd></dl>

</div>
</div>
<a id="ga198462d79271d614c43040595bbe2364"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga198462d79271d614c43040595bbe2364">&#9670;&nbsp;</a></span>xkb_keysym_to_utf32()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t xkb_keysym_to_utf32 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a>&#160;</td>
          <td class="paramname"><em>keysym</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the Unicode/UTF-32 representation of a keysym. </p>
<dl class="section return"><dt>Returns</dt><dd>The Unicode/UTF-32 representation of keysym, which is also compatible with UCS-4. If the keysym does not have a Unicode representation, returns 0.</dd></dl>
<p>This function does not perform any <a class="el" href="group__keysyms.html">Keysym Transformations</a>. Therefore, prefer to use <a class="el" href="group__state.html#ga538418c3521c54f9f3559fcb3115ab04" title="Get the Unicode/UTF-32 codepoint obtained from pressing a particular key in a a given keyboard state.">xkb_state_key_get_utf32()</a> if possible.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__state.html#ga538418c3521c54f9f3559fcb3115ab04" title="Get the Unicode/UTF-32 codepoint obtained from pressing a particular key in a a given keyboard state.">xkb_state_key_get_utf32()</a> </dd></dl>

</div>
</div>
<a id="gafb8dd4c4bb509549ad5e9d7b9218d23f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafb8dd4c4bb509549ad5e9d7b9218d23f">&#9670;&nbsp;</a></span>xkb_keysym_to_upper()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a> xkb_keysym_to_upper </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a>&#160;</td>
          <td class="paramname"><em>ks</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert a keysym to its uppercase form. </p>
<p>If there is no such form, the keysym is returned unchanged.</p>
<p>The conversion rules may be incomplete; prefer to work with the Unicode representation instead, when possible. </p>

</div>
</div>
<a id="ga01d360f80340194f786f4f7b02d037e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga01d360f80340194f786f4f7b02d037e9">&#9670;&nbsp;</a></span>xkb_keysym_to_lower()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a> xkb_keysym_to_lower </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="xkbcommon_8h.html#a79e604a22703391bdfe212cfc10ea007">xkb_keysym_t</a>&#160;</td>
          <td class="paramname"><em>ks</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert a keysym to its lowercase form. </p>
<p>The conversion rules may be incomplete; prefer to work with the Unicode representation instead, when possible. </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>