diff options
author | Bradley T. Hughes <bradley.hughes@nokia.com> | 2010-03-10 10:13:33 (GMT) |
---|---|---|
committer | Bradley T. Hughes <bradley.hughes@nokia.com> | 2010-03-15 15:02:58 (GMT) |
commit | 761bccd408c72e1d1d10d6c69f9f1d01fff30a0c (patch) | |
tree | b94e1d15e9e3b5637675dbd8b59bdd72af09c011 /src/gui/kernel/qt_x11_p.h | |
parent | c63fe6fcfc83028419dd84d13d24e7cb1295ac7f (diff) | |
download | Qt-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.h | 6 |
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; |