<!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: libxkbcommon</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  <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&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="PageDoc"><div class="header"> <div class="headertitle"> <div class="title">libxkbcommon </div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><p>libxkbcommon is a keyboard keymap compiler and support library which processes a reduced subset of keymaps as defined by the XKB (X Keyboard Extension) specification. It also contains a module for handling Compose and dead keys.</p> <h2>Quick Guide</h2> <p>See <a class="el" href="md_doc_quick-guide.html">Quick Guide</a>.</p> <h2>Building</h2> <p>libxkbcommon is built with <a href="http://mesonbuild.com/">Meson</a>: </p><pre class="fragment">meson setup build ninja -C build </pre><p>To build for use with Wayland, you can disable X11 support while still using the X11 keyboard configuration resource files thusly: </p><pre class="fragment">meson setup build \ -Denable-x11=false \ -Dxkb-config-root=/usr/share/X11/xkb \ -Dx-locale-root=/usr/share/X11/locale ninja -C build </pre><h2>API</h2> <p>While libxkbcommon's API is somewhat derived from the classic XKB API as found in X11/extensions/XKB.h and friends, it has been substantially reworked to expose fewer internal details to clients.</p> <p>See the <a href="https://xkbcommon.org/doc/current/modules.html">API Documentation</a>.</p> <h2>Dataset</h2> <p>libxkbcommon does not distribute a keymap dataset itself, other than for testing purposes. The most common dataset is xkeyboard-config, which is used by all current distributions for their X11 XKB data. More information on xkeyboard-config is available here: <a href="https://www.freedesktop.org/wiki/Software/XKeyboardConfig">https://www.freedesktop.org/wiki/Software/XKeyboardConfig</a></p> <p>The dataset for Compose is distributed in libX11, as part of the X locale data.</p> <h2>Relation to X11</h2> <p>See <a class="el" href="md_doc_compat.html">Compatibility</a> notes.</p> <h2>Development</h2> <p>An extremely rudimentary homepage can be found at <a href="https://xkbcommon.org">https://xkbcommon.org</a></p> <p>xkbcommon is maintained in git at <a href="https://github.com/xkbcommon/libxkbcommon">https://github.com/xkbcommon/libxkbcommon</a></p> <p>Patches are always welcome, and may be sent to either <a href="#" onclick="location.href='mai'+'lto:'+'xor'+'g-'+'dev'+'el'+'@li'+'st'+'s.x'+'.o'+'rg'; return false;">xorg-<span style="display: none;">.nosp@m.</span>deve<span style="display: none;">.nosp@m.</span>l@lis<span style="display: none;">.nosp@m.</span>ts.x<span style="display: none;">.nosp@m.</span>.org</a> or <a href="#" onclick="location.href='mai'+'lto:'+'way'+'la'+'nd-'+'de'+'vel'+'@l'+'ist'+'s.'+'fre'+'ed'+'esk'+'to'+'p.o'+'rg'; return false;">wayla<span style="display: none;">.nosp@m.</span>nd-d<span style="display: none;">.nosp@m.</span>evel@<span style="display: none;">.nosp@m.</span>list<span style="display: none;">.nosp@m.</span>s.fre<span style="display: none;">.nosp@m.</span>edes<span style="display: none;">.nosp@m.</span>ktop.<span style="display: none;">.nosp@m.</span>org</a> or through github.</p> <p>Bug reports are also welcome, and may be filed either at Bugzilla <a href="https://bugs.freedesktop.org/describecomponents.cgi?product=libxkbcommon">https://bugs.freedesktop.org/describecomponents.cgi?product=libxkbcommon</a> or Github <a href="https://github.com/xkbcommon/libxkbcommon/issues">https://github.com/xkbcommon/libxkbcommon/issues</a></p> <p>The maintainers are</p><ul> <li>Daniel Stone <a href="#" onclick="location.href='mai'+'lto:'+'dan'+'ie'+'l@f'+'oo'+'ish'+'ba'+'r.o'+'rg'; return false;">danie<span style="display: none;">.nosp@m.</span>l@fo<span style="display: none;">.nosp@m.</span>oishb<span style="display: none;">.nosp@m.</span>ar.o<span style="display: none;">.nosp@m.</span>rg</a></li> <li>Ran Benita <a href="#" onclick="location.href='mai'+'lto:'+'ran'+'23'+'4@g'+'ma'+'il.'+'co'+'m'; return false;">ran23<span style="display: none;">.nosp@m.</span>4@gm<span style="display: none;">.nosp@m.</span>ail.c<span style="display: none;">.nosp@m.</span>om</a></li> </ul> <h2>Credits</h2> <p>Many thanks are due to Dan Nicholson for his heroic work in getting xkbcommon off the ground initially. </p> </div></div><!-- PageDoc --> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.15 </small></address> </body> </html>