aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2018-08-13 11:08:47 +0200
committerMitch Curtis <mitch.curtis@qt.io>2018-08-23 11:13:29 +0000
commitc4079ef585f3efdedc64d961d8ef2bd90cedb7fc (patch)
tree1718d96774ccc87908a022a219da2515976a3e5f
parentd8906c5f36540baef2886e5c6f5b7b4199525f5c (diff)
Doc: improve integration documentation, especially regarding Wayland
Change-Id: Id27ebb78001ff060d67917e9ac69f75682a885ac Reviewed-by: Johan Helsing <johan.helsing@qt.io> Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
-rw-r--r--src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf2
-rw-r--r--src/virtualkeyboard/doc/src/deployment-guide.qdoc56
-rw-r--r--src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc1
3 files changed, 47 insertions, 12 deletions
diff --git a/src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf b/src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf
index 71697785..3a50346d 100644
--- a/src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf
+++ b/src/virtualkeyboard/doc/qtvirtualkeyboard.qdocconf
@@ -24,7 +24,7 @@ manifestmeta.highlighted.names = "QtVirtualKeyboard/Qt Quick Virtual Keyboard -
imagedirs += images
-depends += qtdoc qtcore qtgui qtqml qtquick
+depends += qtdoc qtcore qtgui qtwidgets qtwayland qtqml qtquick
qhp.projects = QtVirtualKeyboard
diff --git a/src/virtualkeyboard/doc/src/deployment-guide.qdoc b/src/virtualkeyboard/doc/src/deployment-guide.qdoc
index b5bcb938..01823e15 100644
--- a/src/virtualkeyboard/doc/src/deployment-guide.qdoc
+++ b/src/virtualkeyboard/doc/src/deployment-guide.qdoc
@@ -67,19 +67,21 @@ Qt Virtual Keyboard currently supports two alternative integration methods
for using the plugin:
\list
- \li \c Desktop: Qt Virtual Keyboard is integrated with Qt 5 and requires no
- changes to existing applications. The Qt Virtual Keyboard input method
- is available to all of the Qt 5 applications in the system.
+ \li \c Desktop: requires no changes to existing applications.
+ The virtual keyboard is available to all of the Qt 5 applications
+ in the system.
In this integration method, the keyboard is shown in a dedicated
top-level window.
- \li \c Application: Qt Virtual Keyboard is integrated with Qt 5, but
- requires changes to particular applications using Qt Virtual Keyboard.
- This method is mandatory in a Boot2Qt environment, but can be used in
- desktop applications too.
+ \li \c Application: the virtual keyboard is embedded within the Qt
+ application itself by instantiating an \l InputPanel item in QML.
- In this integration method, the keyboard is shown in the same Qt Quick
- scene as the application.
+ This method is mandatory in environments where there is no support
+ for multiple top-level windows (such as embedded devices), but can
+ be used in desktop applications too.
+
+ This method can also be used by Qt Wayland compositors in order to
+ provide a server-side virtual keyboard. See the section below for details.
\endlist
The integration method is automatically selected by the project files.
@@ -87,8 +89,40 @@ However, in desktop environments, it is possible to override the desktop
integration method and use the application integration method instead,
by adding \c CONFIG+=disable-desktop to the \c qmake command line.
-\note The desktop integration method is not currently available in Boot2Qt
-environments.
+\section2 Using Qt Virtual Keyboard with Qt Wayland
+
+This section explains how to use Qt Virtual Keyboard to interact with the
+\l {Line Edits Example}{Qt Widgets Line Edits example} using the
+\l {Qt Wayland Compositor Examples - Pure QML}{Pure QML example}
+as a compositor.
+
+We will be using Ubuntu 18.04 to run the example, using the X11 as the
+windowing system. The example compositor (\c pure-qml) will open
+as a window within an X11 session.
+
+\list 1
+ \li Start the compositor:
+ \badcode
+QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-egl QT_IM_MODULE=qtvirtualkeyboard ./pure-qml -platform xcb
+ \endcode
+ \li Before running the client application, ensure that QT_IM_MODULE is unset:
+ \badcode
+unset QT_IM_MODULE
+ \endcode
+ \li Start the Line Edits example as the client:
+ \badcode
+./lineedits -platform wayland
+ \endcode
+ \li Click on a line edit and Qt Virtual Keyboard's input panel will open.
+\endlist
+
+If issues are encountered, the following environment variables can be set
+when running the compositor to get debug output that can help diagnose the issue:
+
+\badcode
+WAYLAND_DEBUG=1
+QT_LOGGING_RULES="qt.virtualkeyboard=true;qt.qpa.wayland*=true"
+\endcode
\section1 Loading the Plugin
diff --git a/src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc
index 35eb60b1..4b42bb7a 100644
--- a/src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc
+++ b/src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc
@@ -56,6 +56,7 @@
\li \l {Handwriting Recognition}{Handwriting support}, with gestures for fullscreen input.
\li Audio feedback.
\li Cross-platform functionality.
+ \li Supports both \l {Integration Method}{Qt Quick and Qt Widgets applications}.
\endlist
\section1 Supported Languages