Important: Please read the Qt Code of Conduct -

Qt4 External keyboard handling issues On wince platform

  • The key s of the external keyboard is treated as a hot key, and the function is the same as backspace.

    the source file: C:\Qt\qt-everywhere-opensource-src-4.7.3\src\gui\kernel\qapplication_win.cpp

    code snippet:

    extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    #if Q_OS_WINCE_WM
            case WM_HOTKEY:
                if(HIWORD(msg.lParam) == VK_TBACK) {
                    const bool hotKeyDown = !(LOWORD(msg.lParam) & MOD_KEYUP);
                    msg.lParam = 0x69 << 16;
                    msg.wParam = VK_BACK;
                    if (hotKeyDown) {
                        msg.message = WM_KEYDOWN;
                    } else {
                        msg.message = WM_KEYUP;
                // fall-through intended

    Comment out the code segment and recompile the library to solve this problem

    I have sent a Technical Issue Report to qt official.
    Hope to get a feedback that can explain why it is implemented this way
    my Email:

Log in to reply