summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qxcbkeyboard.h
diff options
context:
space:
mode:
authorGatis Paeglis <gatis.paeglis@digia.com>2013-07-01 14:08:32 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-07-07 11:26:15 +0200
commitb212fc80a7be8877ddbdf99f95a4f7663293f551 (patch)
tree7b382744e98862b7ed9123b2881bfec59c154c8b /src/plugins/platforms/xcb/qxcbkeyboard.h
parentdbe5306c2c4f5017827efb42aae69bdf8573674e (diff)
Resolve modifier mask conflicts on X11
On X11 key codes and modifiers can have many-to-many relationship, i.e. a key can activate several modifiers, and a modifier may be activated by several keys. This patch handles these cases, the logic is borrowed from Qt4. Task-number: QTBUG-31572 Change-Id: Ide4eb890ec723c68afafe0576d8285440a47d7b0 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbkeyboard.h')
-rw-r--r--src/plugins/platforms/xcb/qxcbkeyboard.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbkeyboard.h b/src/plugins/platforms/xcb/qxcbkeyboard.h
index af6677c20f..770a7eabea 100644
--- a/src/plugins/platforms/xcb/qxcbkeyboard.h
+++ b/src/plugins/platforms/xcb/qxcbkeyboard.h
@@ -84,6 +84,7 @@ public:
protected:
void handleKeyEvent(QWindow *window, QEvent::Type type, xcb_keycode_t code, quint16 state, xcb_timestamp_t time);
+ void resolveMaskConflicts();
QString keysymToUnicode(xcb_keysym_t sym) const;
@@ -111,6 +112,8 @@ private:
uint alt;
uint altgr;
uint meta;
+ uint super;
+ uint hyper;
};
_mod_masks rmod_masks;