Ignore:
Timestamp:
Dec 22, 2009, 2:34:55 AM (16 years ago)
Author:
Dmitry A. Kuminov
Message:

gui: Implemented proper generation of possible key and modifier combinations for a given key event. This in particular enables Ctrl+<letter> shortcuts for non-Latin languages and also makes Ctrl+<letter>, Alt+<letter> and similar shortcuts language-neutral. See #50 for details.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gui/kernel/qapplication_pm.cpp

    r432 r434  
    6565#include "qcursor_p.h"
    6666
     67#define WM_KBDLAYERCHANGED   0x0BD4 // defined in OS2TK45/h/pmbidi.h
     68
    6769//#define QT_DEBUGMSGFLOW
    6870
     
    944946
    945947            case WM_CHAR: { // keyboard event
     948                if (!(CHARMSG(&qmsg.msg)->fs & KC_KEYUP))
     949                    qt_keymapper_private()->updateKeyMap(qmsg);
     950
    946951                QWidget *g = QWidget::keyboardGrabber();
    947952                if (g)
     
    966971                        return (MRESULT)TRUE;
    967972                }
     973                break;
     974            }
     975
     976            case WM_KBDLAYERCHANGED: { // Keyboard layout change
     977                QKeyMapper::changeKeyboard();
    968978                break;
    969979            }
     
    25292539    myCaseEnd()
    25302540
     2541    myCaseBegin(WM_KBDLAYERCHANGED)
     2542        str += QString().sprintf(" mp1 %p mp2 %p", qmsg.mp1, qmsg.mp2);
     2543        break;
     2544    myCaseEnd()
     2545
    25312546    myCaseBegin(WM_PAINT)
    25322547        break;
Note: See TracChangeset for help on using the changeset viewer.