diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2018-08-13 11:08:47 +0200 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2018-08-23 11:13:29 +0000 |
commit | c4079ef585f3efdedc64d961d8ef2bd90cedb7fc (patch) | |
tree | 1718d96774ccc87908a022a219da2515976a3e5f | |
parent | d8906c5f36540baef2886e5c6f5b7b4199525f5c (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.qdocconf | 2 | ||||
-rw-r--r-- | src/virtualkeyboard/doc/src/deployment-guide.qdoc | 56 | ||||
-rw-r--r-- | src/virtualkeyboard/doc/src/qtvirtualkeyboard-index.qdoc | 1 |
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 |