summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qt_x11_p.h
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2010-03-10 10:13:33 (GMT)
committerBradley T. Hughes <bradley.hughes@nokia.com>2010-03-15 15:02:58 (GMT)
commit761bccd408c72e1d1d10d6c69f9f1d01fff30a0c (patch)
treeb94e1d15e9e3b5637675dbd8b59bdd72af09c011 /src/gui/kernel/qt_x11_p.h
parentc63fe6fcfc83028419dd84d13d24e7cb1295ac7f (diff)
downloadQt-761bccd408c72e1d1d10d6c69f9f1d01fff30a0c.zip
Qt-761bccd408c72e1d1d10d6c69f9f1d01fff30a0c.tar.gz
Qt-761bccd408c72e1d1d10d6c69f9f1d01fff30a0c.tar.bz2
Improve keyboard layout detection on X11
When the keyboard configuration includes multiple layouts in separate groups, the _XKB_RULES_NAME property lists the layouts separated by a comma. Previously we did not handle this. We query the current keyboard group on startup and monitor XkbStateNotify events for group changes. The existing infrastructre from QKeyMapper deals with sending the KeyboardLayoutChange event to all toplevel windows already. This change includes a bit of refactoring to put the XKB detection and initialization in qapplication_x11.cpp and XKB opcode, eventbase, and errorbase into qt_x11_p.h (like with the other extensions). Task-number: QTBUG-3631 Reviewed-by: denis
Diffstat (limited to 'src/gui/kernel/qt_x11_p.h')
-rw-r--r--src/gui/kernel/qt_x11_p.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gui/kernel/qt_x11_p.h b/src/gui/kernel/qt_x11_p.h
index 8af4df5..e1b2625 100644
--- a/src/gui/kernel/qt_x11_p.h
+++ b/src/gui/kernel/qt_x11_p.h
@@ -439,6 +439,12 @@ struct QX11Data
int xinput_eventbase;
int xinput_errorbase;
+ // for XKEYBOARD support
+ bool use_xkb;
+ int xkb_major;
+ int xkb_eventbase;
+ int xkb_errorbase;
+
QList<QWidget *> deferred_map;
struct ScrollInProgress {
long id;