Pass extended key event infomation in xcb platform.
authorWeng Xuetian <wengxt@gmail.com>
Sun, 24 Jun 2012 05:04:44 +0000 (13:04 +0800)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Thu, 22 Nov 2012 21:56:50 +0000 (22:56 +0100)
Bare QKeyEvent missing some useful info for input method.
Use new construct of QKeyEvent to create extended QKeyEvent

Change-Id: I8c89e80e7329b92e3e04d5fe52d07c6f6f9e006f
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/plugins/platforms/xcb/qxcbkeyboard.cpp

index d35ce18..e47c081 100644 (file)
@@ -1102,7 +1102,7 @@ void QXcbKeyboard::handleKeyEvent(QWindow *window, QEvent::Type type, xcb_keycod
 
     bool filtered = false;
     if (inputContext) {
-        QKeyEvent event(type, qtcode, modifiers, string, isAutoRepeat);
+        QKeyEvent event(type, qtcode, modifiers, code, sym, state, string.left(count), isAutoRepeat, count);
         event.setTimestamp(time);
         filtered = inputContext->filterEvent(&event);
     }
@@ -1130,7 +1130,7 @@ void QXcbKeyboard::handleKeyEvent(QWindow *window, QEvent::Type type, xcb_keycod
         }
 
         if (!filtered && inputContext) {
-            QKeyEvent event(QEvent::KeyPress, qtcode, modifiers, string, isAutoRepeat);
+            QKeyEvent event(QEvent::KeyPress, qtcode, modifiers, code, sym, state, string.left(count), isAutoRepeat, count);
             event.setTimestamp(time);
             filtered = inputContext->filterEvent(&event);
         }