summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Griebl <rgriebl@trolltech.com>2009-07-23 11:36:44 (GMT)
committerRobert Griebl <rgriebl@trolltech.com>2009-07-23 14:33:10 (GMT)
commit29016ad7cf1e11ae9967748f91acac6f0054bbf8 (patch)
tree896dd417bd9e48cc6811a939cafdd4eebb70b753
parent9a77d6c409b991957fc069a2b47476a419ea1aab (diff)
downloadQt-29016ad7cf1e11ae9967748f91acac6f0054bbf8.zip
Qt-29016ad7cf1e11ae9967748f91acac6f0054bbf8.tar.gz
Qt-29016ad7cf1e11ae9967748f91acac6f0054bbf8.tar.bz2
Fixed embedded mouse and keyboard docu for 4.6
Reviewed-By: Paul
-rw-r--r--doc/src/emb-charinput.qdoc54
-rw-r--r--doc/src/emb-kmap2qmap.qdoc84
-rw-r--r--doc/src/emb-pointer.qdoc17
-rw-r--r--doc/src/snippets/code/doc_src_emb-charinput.qdoc2
-rw-r--r--src/gui/embedded/qkbd_qws.cpp8
5 files changed, 139 insertions, 26 deletions
diff --git a/doc/src/emb-charinput.qdoc b/doc/src/emb-charinput.qdoc
index c9c768c..565d953 100644
--- a/doc/src/emb-charinput.qdoc
+++ b/doc/src/emb-charinput.qdoc
@@ -82,13 +82,13 @@
\section1 Available Keyboard Drivers
- \l {Qt for Embedded Linux} provides ready-made drivers for the SL5000, Yopy,
- Vr41XX, console (TTY) and USB protocols. Run the \c configure
- script to list the available drivers:
+ \l {Qt for Embedded Linux} provides ready-made drivers for the console
+ (TTY) and the standard Linux Input Subsystem (USB, PS/2, ...). Run the
+ \c configure script to list the available drivers:
\snippet doc/src/snippets/code/doc_src_emb-charinput.qdoc 0
- Note that the console keyboard driver also handles console
+ Note that only the console (TTY) keyboard driver handles console
switching (\bold{Ctrl+Alt+F1}, ..., \bold{Ctrl+Alt+F10}) and
termination (\bold{Ctrl+Alt+Backspace}).
@@ -105,6 +105,17 @@
detect the plugin, loading the driver into the server application
at run-time.
+ \section1 Keymaps
+
+ Starting with 4.6, \l {Qt for Embedded Linux} has gained support for
+ user defined keymaps. Keymap handling is supported by the builtin
+ keyboard drivers \c TTY and \c LinuxInput. Custom keyboard drivers can
+ use the existing keymap handling code via
+ QWSKeyboardHandler::processKeycode().
+
+ By default Qt will use an internal, compiled-in US keymap.
+ See the options below for how to load a different keymap.
+
\section1 Specifying a Keyboard Driver
To specify which driver to use, set the QWS_KEYBOARD environment
@@ -113,14 +124,41 @@
\snippet doc/src/snippets/code/doc_src_emb-charinput.qdoc 2
- The \c <driver> argument are \c SL5000, \c Yopy, \c VR41xx, \c
- TTY, \c USB and \l {QKbdDriverPlugin::keys()}{keys} identifying
- custom drivers, and the driver specific options are typically a
- device, e.g., \c /dev/tty0.
+ The \c <driver> argument are \c TTY, \c LinuxInput and \l
+ {QKbdDriverPlugin::keys()}{keys} identifying custom drivers, and the
+ driver specific options are typically a device, e.g., \c /dev/tty0.
Multiple keyboard drivers can be specified in one go:
\snippet doc/src/snippets/code/doc_src_emb-charinput.qdoc 3
Input will be read from all specified drivers.
+
+ Currently the following options are supported by both the \c TTY and \c
+ LinuxInput driver:
+
+ \table
+ \header \o Option \o Description
+ \row \o \c /dev/xxx \o
+ Open the specified device, instead of the driver's default device.
+ \row \o \c repeat-delay=<d> \o
+ Time in milliseconds until auto-repeat kicks in.
+ \row \o \c repeat-rate=<r> \o
+ Time in milliseconds specifying interval between auto-repeats.
+ \row \o \c keymap=xx.qmap \o
+ File name of a keymap file in Qt's \c qmap format. See \l {kmap2qmap}
+ for instructions on how to create thoes files.\br Please note that the
+ file name can of course also be the name of a QResource.
+ \row \o \c disable-zap \o
+ Disable the QWS server "Zap" shortcut \bold{Ctrl+Alt+Backspace}
+ \row \o \c enable-compose \o
+ Activate Latin-1 composing features in the builtin US keymap. You can
+ use the right \c AltGr or right \c Alt is used as a dead key modifier,
+ while \c AltGr+. is the compose key. For example:
+ \list
+ \o \c AltGr + \c " + \c u = \uuml (u with diaeresis / umlaut u)
+ \o \c AltGr + \c . + \c / + \c o = \oslash (slashed o)
+ \endlist
+ \endtable
+
*/
diff --git a/doc/src/emb-kmap2qmap.qdoc b/doc/src/emb-kmap2qmap.qdoc
new file mode 100644
index 0000000..2b3f687
--- /dev/null
+++ b/doc/src/emb-kmap2qmap.qdoc
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at http://www.qtsoftware.com/contact.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qt-embedded-kmap2qmap.html
+ \title kmap2qmap
+ \ingroup qt-embedded-linux
+
+ \c kmap2qmap is a tool to generate keymaps for use on Embedded Linux.
+ The source files have to be in standard Linux \c kmap format that is
+ e.g. understood by the kernel's \c loadkeys command. This means you
+ can use the following sources to generate \c qmap files:
+
+ \list
+ \o The \l {http://lct.sourceforge.net/}{Linux Console Tools (LCT)} project.
+ \o \l {http://www.x.org/}{Xorg} X11 keymaps can be converted to the \c
+ kmap format with the \c ckbcomp utility.
+ \o Since \c kmap files are plain text files, they can also be hand crafted.
+ \endlist
+
+ The generated \c qmap files are size optimized binary files.
+
+ \c kmap2qmap is a command line program, that needs at least 2 files as
+ parameters. The last one will be the generated \c .qmap file, while all
+ the others will be parsed as input \c .kmap files. For example:
+
+ \code
+ kmap2qmap i386/qwertz/de-latin1-nodeadkeys.kmap include/compose.latin1.inc de-latin1-nodeadkeys.qmap
+ \endcode
+
+ \c kmap2qmap doesn't support all the (pseudo) symbols that the Linux
+ kernel supports. If you are converting a standard keymap you will get a
+ lot of warnings for things like \c Show_Registers, \c Hex_A, etc.: you
+ can safely ignore those.
+
+ It also doesn't support numeric symbols (e.g. \c{keycode 1 = 4242},
+ instead of \c{keycode 1 = colon}), since these are deprecated and can
+ change from one kernel version to the other.
+
+ On the other hand, \c kmap2qmap supports one additional, Qt specific,
+ symbol: \c QtZap. The built-in US keymap has that symbol mapped tp
+ \c{Ctrl+Alt+Backspace} and it serves as a shortcut to kill your QWS
+ server (similiar to the X11 server).
+
+ See also \l {Qt for Embedded Linux Character Input}
+*/
diff --git a/doc/src/emb-pointer.qdoc b/doc/src/emb-pointer.qdoc
index b13dec0..49504fe 100644
--- a/doc/src/emb-pointer.qdoc
+++ b/doc/src/emb-pointer.qdoc
@@ -64,9 +64,10 @@
\section1 Available Drivers
\l{Qt for Embedded Linux} provides ready-made drivers for the MouseMan,
- IntelliMouse, Microsoft, NEC Vr41XX, Linux Touch Panel and Yopy
- protocols as well as the universal touch screen library,
- tslib. Run the \c configure script to list the available drivers:
+ IntelliMouse, Microsoft and Linux Touch Panel protocols, for the
+ standard Linux Input Subsystem as well as the universal touch screen
+ library, tslib. Run the \c configure script to list the available
+ drivers:
\if defined(QTOPIA_PHONE)
@@ -125,7 +126,7 @@
\snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc 4
The valid values for the \c <driver> argument are \c MouseMan, \c
- IntelliMouse, \c Microsoft, \c VR41xx, \c LinuxTP, \c Yopy, \c
+ IntelliMouse, \c Microsoft, \c LinuxTP, \c LinuxInput, \c
Tslib and \l {QMouseDriverPlugin::keys()}{keys} identifying custom
drivers, and the driver specific options are typically a device,
e.g., \c /dev/mouse for mouse devices and \c /dev/ts for touch
@@ -137,14 +138,6 @@
Input will be read from all specified drivers.
- Note that the \c Vr41xx driver also accepts two optional
- arguments: \c press=<value> defining a mouse click (the default
- value is 750) and \c filter=<value> specifying the length of the
- filter used to eliminate noise (the default length is 3). For
- example:
-
- \snippet doc/src/snippets/code/doc_src_emb-pointer.qdoc 6
-
\table
\header \o The Tslib Mouse Driver
\row
diff --git a/doc/src/snippets/code/doc_src_emb-charinput.qdoc b/doc/src/snippets/code/doc_src_emb-charinput.qdoc
index 2539e13..f6b33fe 100644
--- a/doc/src/snippets/code/doc_src_emb-charinput.qdoc
+++ b/doc/src/snippets/code/doc_src_emb-charinput.qdoc
@@ -4,7 +4,7 @@
//! [1]
-configure -qt-kbd-s15000
+configure -qt-kbd-linuxinput
//! [1]
diff --git a/src/gui/embedded/qkbd_qws.cpp b/src/gui/embedded/qkbd_qws.cpp
index 7799339..756a398 100644
--- a/src/gui/embedded/qkbd_qws.cpp
+++ b/src/gui/embedded/qkbd_qws.cpp
@@ -453,8 +453,9 @@ void QWSKeyboardHandler::endAutoRepeat()
Maps \a keycode according to a keymap and sends that key event to the
\l{Qt for Embedded Linux} server application.
- Please see the QWS_KEYBOARD documentation for a description on how to
- create and use keymap files.
+ Please see the \l{Qt for Embedded Linux Character Input} and the \l
+ {kmap2qmap} documentations for a description on how to create and use
+ keymap files.
The key event is identified by its \a keycode value and the \a isPress
and \a autoRepeat parameters.
@@ -475,9 +476,6 @@ void QWSKeyboardHandler::endAutoRepeat()
implementation needs to take care of a special action, like console
switching or LED handling.
- Standard Linux console keymaps can be found at the
- \l {http://lct.sourceforege.net}{LCT project}
-
If standard Linux console keymaps are used, \a keycode must be one of the
standardized values defined in \c /usr/include/linux/input.h