diff options
author | Gatis Paeglis <gatis.paeglis@digia.com> | 2014-02-27 18:05:14 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-27 17:51:21 +0100 |
commit | 9c326376c9a27a02ee6abcb897082f538d0002a7 (patch) | |
tree | 65a7f9ddca18c7ca5299c4cc1f1aafe72118e519 /src/plugins/platforms/xcb/qxcbconnection.h | |
parent | bc2e7054ef10a25a9bdc11c66eacf9c118c232a6 (diff) |
Add better support for keymap update handling
Use the new X11 support API xkb_x11_* released in libxkbcommon version 0.4.0.
From the commit message where this API was introduced:
"These are function to create an xkb_keymap directly from XKB requests
to the X server. This opens up the possibility for X clients to use
xcb + xcb-xkb + xkbcommon as a proper replacement for Xlib + xkbfile for
keyboard support.
Why not just use the RMLVO that the server puts in the _XKB_RULES_NAMES
property? This does not account for custom keymaps, on-the-fly keymap
modifications, remote clients, etc., so is not a proper solution in
practice. Also, some servers don't even set it. Now, the client just
needs to recreate the keymap in response to a change in the server's
keymap (as Xlib clients do with XRefreshKeyboardMapping() and friends)."
This patch moves XKEYBOARD presence decision from compile time to runtime
for a proper remote X client support.
Task-number: QTBUG-31527
Task-number: QTBUG-32760
Change-Id: I4d402668cda2126ef180b27022154f96b1874b1d
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbconnection.h')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbconnection.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h index 71f5ce13fb..a994c51c7d 100644 --- a/src/plugins/platforms/xcb/qxcbconnection.h +++ b/src/plugins/platforms/xcb/qxcbconnection.h @@ -54,7 +54,7 @@ #include <qpa/qwindowsysteminterface.h> // This is needed to make Qt compile together with XKB. xkb.h is using a variable -// which is called 'explicit', this is a reserved keyword in c++ */ +// which is called 'explicit', this is a reserved keyword in c++ #ifndef QT_NO_XKB #define explicit dont_use_cxx_explicit #include <xcb/xkb.h> |