diff --git a/src/angle/src/config.pri b/src/angle/src/config.pri index ed25581..e9e9f68 100644 --- a/src/angle/src/config.pri +++ b/src/angle/src/config.pri @@ -55,7 +55,6 @@ angle_d3d11 { CONFIG(debug, debug|release) { DEFINES += _DEBUG } else { - CONFIG += rtti_off DEFINES += NDEBUG } diff --git a/src/plugins/platforms/windows/qwindowskeymapper.cpp b/src/plugins/platforms/windows/qwindowskeymapper.cpp index 0b257cc..b7ea731 100644 --- a/src/plugins/platforms/windows/qwindowskeymapper.cpp +++ b/src/plugins/platforms/windows/qwindowskeymapper.cpp @@ -728,6 +728,7 @@ static inline void sendExtendedPressRelease(QWindow *w, int k, bool autorep = false, ushort count = 1) { + qDebug() << __FUNCTION__ << nativeScanCode; QWindowSystemInterface::handleExtendedKeyEvent(w, QEvent::KeyPress, k, mods, nativeScanCode, nativeVirtualKey, nativeModifiers, text, autorep, count); QWindowSystemInterface::handleExtendedKeyEvent(w, QEvent::KeyRelease, k, mods, nativeScanCode, nativeVirtualKey, nativeModifiers, text, autorep, count); } @@ -739,6 +740,8 @@ static inline void sendExtendedPressRelease(QWindow *w, int k, bool QWindowsKeyMapper::translateKeyEvent(QWindow *widget, HWND hwnd, const MSG &msg, LRESULT *result) { + qDebug() << __FUNCTION__ << widget << (msg.message == WM_KEYUP ? "UP" : "DOWN") + << msg.lParam << msg.wParam; *result = 0; // Reset layout map when system keyboard layout is changed @@ -755,14 +758,17 @@ bool QWindowsKeyMapper::translateKeyEvent(QWindow *widget, HWND hwnd, MSG peekedMsg; // consume dead chars?(for example, typing '`','a' resulting in a-accent). - if (PeekMessage(&peekedMsg, hwnd, 0, 0, PM_NOREMOVE) && peekedMsg.message == WM_DEADCHAR) + if (PeekMessage(&peekedMsg, hwnd, 0, 0, PM_NOREMOVE) && peekedMsg.message == WM_DEADCHAR) { + qDebug() << "dead char"; return true; + } return translateKeyEventInternal(widget, msg, false); } bool QWindowsKeyMapper::translateKeyEventInternal(QWindow *window, const MSG &msg, bool /* grab */) { + qDebug() << __FUNCTION__ << window << msg.message << msg.lParam << msg.wParam; const int msgType = msg.message; const quint32 scancode = (msg.lParam >> 16) & scancodeBitmask; @@ -798,6 +804,7 @@ bool QWindowsKeyMapper::translateKeyEventInternal(QWindow *window, const MSG &ms // A multi-character key or a Input method character // not found by our look-ahead if (msgType == WM_CHAR || msgType == WM_IME_CHAR) { + qDebug() << __FUNCTION__ <<"IME"; sendExtendedPressRelease(receiver, 0, Qt::KeyboardModifier(state), scancode, vk_key, nModifiers, messageKeyText(msg), false); return true; } @@ -1011,13 +1018,18 @@ bool QWindowsKeyMapper::translateKeyEventInternal(QWindow *window, const MSG &ms // If we have a record, it means that the key is already pressed, the state is the same // so, we have an auto-repeating key + qDebug() << "rec" << rec; if (rec) { + if (code < Qt::Key_Shift || code > Qt::Key_ScrollLock) { QWindowSystemInterface::handleExtendedKeyEvent(receiver, QEvent::KeyRelease, code, Qt::KeyboardModifier(state), scancode, msg.wParam, nModifiers, rec->text, true); QWindowSystemInterface::handleExtendedKeyEvent(receiver, QEvent::KeyPress, code, Qt::KeyboardModifier(state), scancode, msg.wParam, nModifiers, rec->text, true); + qDebug() << "AUTOREC"; result = true; + } else { + qDebug() << "REC/FALLTHROUGH"; } } // No record of the key being previous pressed, so we now send a QEvent::KeyPress event, @@ -1026,6 +1038,7 @@ bool QWindowsKeyMapper::translateKeyEventInternal(QWindow *window, const MSG &ms const QString text = uch.isNull() ? QString() : QString(uch); const char a = uch.row() ? 0 : uch.cell(); key_recorder.storeKey(msg.wParam, a, state, text); + qDebug() << "no record"; QWindowSystemInterface::handleExtendedKeyEvent(receiver, QEvent::KeyPress, code, Qt::KeyboardModifier(state), scancode, msg.wParam, nModifiers, text, false); result =true; @@ -1062,7 +1075,9 @@ bool QWindowsKeyMapper::translateKeyEventInternal(QWindow *window, const MSG &ms || code == Qt::Key_Meta || code == Qt::Key_Alt)) { // Someone ate the key down event + qDebug() << "KEYUP: Someone ate the key down event"; } else { + qDebug() << "KEYUP: " << code; if (!code) code = asciiToKeycode(rec->ascii ? rec->ascii : msg.wParam, state); @@ -1089,6 +1104,7 @@ bool QWindowsKeyMapper::translateKeyEventInternal(QWindow *window, const MSG &ms #endif } } + qDebug() << __FUNCTION__ <<"<" << result; return result; }