Sophie

Sophie

distrib > Mageia > 7 > i586 > by-pkgid > 1dd17e0d683ef79b4bb6872bbf359d7f > files > 6613

qt4-doc-4.8.7-26.2.mga7.noarch.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- emb-charinput.qdoc -->
  <title>Qt 4.8: Qt for Embedded Linux Character Input</title>
  <link rel="stylesheet" type="text/css" href="style/style.css" />
  <script src="scripts/jquery.js" type="text/javascript"></script>
  <script src="scripts/functions.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="style/superfish.css" />
  <link rel="stylesheet" type="text/css" href="style/narrow.css" />
  <!--[if IE]>
<meta name="MSSmartTagsPreventParsing" content="true">
<meta http-equiv="imagetoolbar" content="no">
<![endif]-->
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="style/style_ie6.css">
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="style/style_ie7.css">
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="style/style_ie8.css">
<![endif]-->

<script src="scripts/superfish.js" type="text/javascript"></script>
<script src="scripts/narrow.js" type="text/javascript"></script>

</head>
<body class="" onload="CheckEmptyAndLoadList();">
 <div class="header" id="qtdocheader">
    <div class="content"> 
    <div id="nav-logo">
      <a href="index.html">Home</a></div>
    <a href="index.html" class="qtref"><span>Qt Reference Documentation</span></a>
    <div id="narrowsearch"></div>
    <div id="nav-topright">
      <ul>
        <li class="nav-topright-home"><a href="http://qt.digia.com/">Qt HOME</a></li>
        <li class="nav-topright-dev"><a href="http://qt-project.org/">DEV</a></li>
        <li class="nav-topright-doc nav-topright-doc-active"><a href="http://qt-project.org/doc/">
          DOC</a></li>
        <li class="nav-topright-blog"><a href="http://blog.qt.digia.com/">BLOG</a></li>
      </ul>
    </div>
    <div id="shortCut">
      <ul>
        <li class="shortCut-topleft-inactive"><span><a href="index.html">Qt 4.8</a></span></li>
        <li class="shortCut-topleft-active"><a href="http://qt-project.org/doc/">ALL VERSIONS        </a></li>
      </ul>
     </div>
 <ul class="sf-menu" id="narrowmenu"> 
             <li><a href="#">API Lookup</a> 
                 <ul> 
                     <li><a href="classes.html">Class index</a></li> 
           <li><a href="functions.html">Function index</a></li> 
           <li><a href="modules.html">Modules</a></li> 
           <li><a href="namespaces.html">Namespaces</a></li> 
           <li><a href="qtglobal.html">Global Declarations</a></li> 
           <li><a href="qdeclarativeelements.html">QML elements</a></li> 
             </ul> 
             </li> 
             <li><a href="#">Qt Topics</a> 
                 <ul> 
                        <li><a href="qt-basic-concepts.html">Programming with Qt</a></li>  
                        <li><a href="qtquick.html">Device UIs &amp; Qt Quick</a></li>  
                        <li><a href="qt-gui-concepts.html">UI Design with Qt</a></li>  
                        <li><a href="supported-platforms.html">Supported Platforms</a></li>  
                        <li><a href="technology-apis.html">Qt and Key Technologies</a></li>  
                        <li><a href="best-practices.html">How-To's and Best Practices</a></li>  
              </ul> 
                 </li> 
                 <li><a href="#">Examples</a> 
                     <ul> 
                       <li><a href="all-examples.html">Examples</a></li> 
                       <li><a href="tutorials.html">Tutorials</a></li> 
                       <li><a href="demos.html">Demos</a></li> 
                       <li><a href="qdeclarativeexamples.html">QML Examples</a></li> 
                </ul> 
                     </li> 
                 </ul> 
    </div>
  </div>
  <div class="wrapper">
    <div class="hd">
      <span></span>
    </div>
    <div class="bd group">
      <div class="sidebar">
        <div class="searchlabel">
          Search index:</div>
        <div class="search" id="sidebarsearch">
          <form id="qtdocsearch" action="" onsubmit="return false;">
            <fieldset>
              <input type="text" name="searchstring" id="pageType" value="" />
 <div id="resultdialog"> 
 <a href="#" id="resultclose">Close</a> 
 <p id="resultlinks" class="all"><a href="#" id="showallresults">All</a> | <a href="#" id="showapiresults">API</a> | <a href="#" id="showarticleresults">Articles</a> | <a href="#" id="showexampleresults">Examples</a></p> 
 <p id="searchcount" class="all"><span id="resultcount"></span><span id="apicount"></span><span id="articlecount"></span><span id="examplecount"></span>&nbsp;results:</p> 
 <ul id="resultlist" class="all"> 
 </ul> 
 </div> 
            </fieldset>
          </form>
        </div>
        <div class="box first bottombar" id="lookup">
          <h2 title="API Lookup"><span></span>
            API Lookup</h2>
          <div  id="list001" class="list">
          <ul id="ul001" >
              <li class="defaultLink"><a href="classes.html">Class index</a></li>
              <li class="defaultLink"><a href="functions.html">Function index</a></li>
              <li class="defaultLink"><a href="modules.html">Modules</a></li>
              <li class="defaultLink"><a href="namespaces.html">Namespaces</a></li>
              <li class="defaultLink"><a href="qtglobal.html">Global Declarations</a></li>
              <li class="defaultLink"><a href="qdeclarativeelements.html">QML elements</a></li>
            </ul> 
          </div>
        </div>
        <div class="box bottombar" id="topics">
          <h2 title="Qt Topics"><span></span>
            Qt Topics</h2>
          <div id="list002" class="list">
            <ul id="ul002" >
               <li class="defaultLink"><a href="qt-basic-concepts.html">Programming with Qt</a></li> 
               <li class="defaultLink"><a href="qtquick.html">Device UIs &amp; Qt Quick</a></li> 
               <li class="defaultLink"><a href="qt-gui-concepts.html">UI Design with Qt</a></li> 
               <li class="defaultLink"><a href="supported-platforms.html">Supported Platforms</a></li>  
               <li class="defaultLink"><a href="technology-apis.html">Qt and Key Technologies</a></li> 
               <li class="defaultLink"><a href="best-practices.html">How-To's and Best Practices</a></li> 
            </ul>  
          </div>
        </div>
        <div class="box" id="examples">
          <h2 title="Examples"><span></span>
            Examples</h2>
          <div id="list003" class="list">
        <ul id="ul003">
              <li class="defaultLink"><a href="all-examples.html">Examples</a></li>
              <li class="defaultLink"><a href="tutorials.html">Tutorials</a></li>
              <li class="defaultLink"><a href="demos.html">Demos</a></li>
              <li class="defaultLink"><a href="qdeclarativeexamples.html">QML Examples</a></li>
            </ul> 
          </div>
        </div>
      </div>
      <div class="wrap">
        <div class="toolbar">
          <div class="breadcrumb toolblock">
            <ul>
              <li class="first"><a href="index.html">Home</a></li>
              <!--  Breadcrumbs go here -->
<li>Qt for Embedded Linux Character Input</li>
            </ul>
          </div>
          <div class="toolbuttons toolblock">
            <ul>
              <li id="smallA" class="t_button">A</li>
              <li id="medA" class="t_button active">A</li>
              <li id="bigA" class="t_button">A</li>
              <li id="print" class="t_button"><a href="javascript:this.print();">
                <span>Print</span></a></li>
            </ul>
        </div>
        </div>
        <div class="content mainContent">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#available-keyboard-drivers">Available Keyboard Drivers</a></li>
<li class="level1"><a href="#keymaps">Keymaps</a></li>
<li class="level1"><a href="#specifying-a-keyboard-driver">Specifying a Keyboard Driver</a></li>
</ul>
</div>
<h1 class="title">Qt for Embedded Linux Character Input</h1>
<span class="subtitle"></span>
<!-- $$$qt-embedded-charinput.html-description -->
<div class="descr"> <a name="details"></a>
<p>When running a <a href="qt-embedded-linux.html">Qt for Embedded Linux</a> application, it either runs as a server or connects to an existing server. The keyboard driver is loaded by the server application when it starts running, using Qt's <a href="plugins-howto.html">plugin system</a>.</p>
<p>Internally in the client/server protocol, all system generated events, including key events, are passed to the server application which then propagates the event to the appropriate client. Note that key events do not always come from a keyboard device, they can can also be generated by the server process using input widgets.</p>
<table class="generic">
<thead><tr class="qt-style"><th >Input Widgets</th></tr></thead>
<tr valign="top" class="odd"><td >The server process may call the static <a href="qwsserver.html#sendKeyEvent">QWSServer::sendKeyEvent</a>() function at any time. Typically, this is done by popping up a widget that enables the user specify characters with the pointer device.<p>Note that the key input widget should not take focus since the server would then just send the key events back to the input widget. One way to make sure that the input widget never takes focus is to set the <a href="qt.html#WindowType-enum">Qt::Tool</a> widget flag in the <a href="qwidget.html">QWidget</a> constructor.</p>
<p>The Qt Extended environment contains various input widgets such as Handwriting Recognition and Virtual Keyboard.</p>
</td></tr>
</table>
<a name="available-keyboard-drivers"></a>
<h2>Available Keyboard Drivers</h2>
<p><a href="qt-embedded-linux.html">Qt for Embedded Linux</a> provides ready-made drivers for the console (TTY) and the standard Linux Input Subsystem (USB, PS/2, ..&#x2e;)&#x2e; Run the <tt>configure</tt> script to list the available drivers:</p>
<pre class="cpp"> ./configure -help</pre>
<p>Note that only the console (TTY) keyboard driver handles console switching (<b>Ctrl+Alt+F1</b>, ..&#x2e;, <b>Ctrl+Alt+F10</b>) and termination (<b>Ctrl+Alt+Backspace</b>).</p>
<p>In the default Qt configuration, only the &quot;TTY&quot; driver is enabled. The various drivers can be enabled and disabled using the <tt>configure</tt> script. For example:</p>
<pre class="cpp"> configure -qt-kbd-linuxinput</pre>
<p>Custom keyboard drivers can be implemented by subclassing the <a href="qwskeyboardhandler.html">QWSKeyboardHandler</a> class and creating a keyboard driver plugin (derived from the <a href="qkbddriverplugin.html">QKbdDriverPlugin</a> class). The default implementation of the <a href="qkbddriverfactory.html">QKbdDriverFactory</a> class will automatically detect the plugin, loading the driver into the server application at run-time.</p>
<a name="keymaps"></a>
<h2>Keymaps</h2>
<p>Starting with 4.6, <a href="qt-embedded-linux.html">Qt for Embedded Linux</a> has gained support for user defined keymaps. Keymap handling is supported by the built-in keyboard drivers <tt>TTY</tt> and <tt>LinuxInput</tt>. Custom keyboard drivers can use the existing keymap handling code via <a href="qwskeyboardhandler.html#processKeycode">QWSKeyboardHandler::processKeycode</a>().</p>
<p>By default Qt will use an internal, compiled-in US keymap. See the options below for how to load a different keymap.</p>
<a name="specifying-a-keyboard-driver"></a>
<h2>Specifying a Keyboard Driver</h2>
<p>To specify which driver to use, set the <a href="qt-embedded-envvars.html#qws-keyboard">QWS_KEYBOARD</a> environment variable. For example (if the current shell is bash, ksh, zsh or sh):</p>
<pre class="cpp"> export QWS_KEYBOARD=&lt;driver&gt;[:&lt;driver specific options&gt;]</pre>
<p>The <tt>&lt;driver&gt;</tt> arguments are <tt>TTY</tt>, <tt>LinuxInput</tt> and <a href="qkbddriverplugin.html#keys">keys</a> identifying custom drivers, and the driver specific options are typically a device, e.g&#x2e;, <tt>/dev/tty0</tt>.</p>
<p>Multiple keyboard drivers can be specified in one go:</p>
<pre class="cpp"> export QWS_KEYBOARD=&quot;&lt;driver&gt;[:&lt;driver specific options&gt;]
         &lt;driver&gt;[:&lt;driver specific options&gt;]
         &lt;driver&gt;[:&lt;driver specific options&gt;]&quot;</pre>
<p>Input will be read from all specified drivers.</p>
<p>Currently the following options are supported by both the <tt>TTY</tt> and <tt>LinuxInput</tt> driver:</p>
<table class="generic">
<thead><tr class="qt-style"><th >Option</th><th >Description</th></tr></thead>
<tr valign="top" class="odd"><td ><tt>/dev/xxx</tt></td><td >Open the specified device, instead of the driver's default device.</td></tr>
<tr valign="top" class="even"><td ><tt>repeat-delay=&lt;d&gt;</tt></td><td >Time (in milliseconds) until auto-repeat kicks in.</td></tr>
<tr valign="top" class="odd"><td ><tt>repeat-rate=&lt;r&gt;</tt></td><td >Time (in milliseconds) specifying the interval between auto-repeats.</td></tr>
<tr valign="top" class="even"><td ><tt>keymap=xx.qmap</tt></td><td >File name of a keymap file in Qt's <tt>qmap</tt> format. See <a href="qt-embedded-kmap2qmap.html">kmap2qmap</a> for instructions on how to create thoes files.<br /> Note that the file name can of course also be the name of a <a href="qresource.html">QResource</a>.</td></tr>
<tr valign="top" class="odd"><td ><tt>disable-zap</tt></td><td >Disable the QWS server &quot;Zap&quot; shortcut <b>Ctrl+Alt+Backspace</b></td></tr>
<tr valign="top" class="even"><td ><tt>enable-compose</tt></td><td >Activate Latin-1 composing features in the built-in US keymap. You can use the right <tt>AltGr</tt> or right <tt>Alt</tt> is used as a dead key modifier, while <tt>AltGr+</tt>. is the compose key. For example:<ul>
<li><tt>AltGr</tt> + <tt>&quot;</tt> + <tt>u</tt> = &uuml; (u with diaeresis / umlaut u)</li>
<li><tt>AltGr</tt> + <tt>.</tt> + <tt>/</tt> + <tt>o</tt> = &oslash; (slashed o)</li>
</ul>
</td></tr>
</table>
</div>
<!-- @@@qt-embedded-charinput.html -->
      </div>
    </div>
    </div> 
    <div class="ft">
      <span></span>
    </div>
  </div> 
  <div class="footer">
    <p>
      <acronym title="Copyright">&copy;</acronym> 2015 The Qt Company Ltd.
      Documentation contributions included herein are the copyrights of
      their respective owners.</p>
    <br />
    <p>
      The documentation provided herein is licensed under the terms of the
      <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation
      License version 1.3</a> as published by the Free Software Foundation.</p>
    <p>
      Documentation sources may be obtained from <a href="http://www.qt-project.org">
      www.qt-project.org</a>.</p>
    <br />
    <p>
      Qt and respective logos are trademarks of The Qt Company Ltd 
      in Finland and/or other countries worldwide. All other trademarks are property
      of their respective owners. <a title="Privacy Policy"
      href="http://en.gitorious.org/privacy_policy/">Privacy Policy</a></p>
  </div>

  <script src="scripts/functions.js" type="text/javascript"></script>
</body>
</html>