diff -Nur qt-gui-4.7.2/work/qt-everywhere-opensource-src-4.7.2/src/corelib/global/qnamespace.h qt-gui-4.7.2-keypad/work/qt-everywhere-opensource-src-4.7.2/src/corelib/global/qnamespace.h --- qt-gui-4.7.2/work/qt-everywhere-opensource-src-4.7.2/src/corelib/global/qnamespace.h 2011-02-22 06:04:00.000000000 -0600 +++ qt-gui-4.7.2-keypad/work/qt-everywhere-opensource-src-4.7.2/src/corelib/global/qnamespace.h 2011-03-06 20:32:27.000000000 -0600 @@ -142,6 +142,8 @@ SHIFT = Qt::ShiftModifier, CTRL = Qt::ControlModifier, ALT = Qt::AltModifier, + KP = Qt::KeypadModifier, + GROUP = Qt::GroupSwitchModifier, MODIFIER_MASK = KeyboardModifierMask, UNICODE_ACCEL = 0x00000000 }; diff -Nur qt-gui-4.7.2/work/qt-everywhere-opensource-src-4.7.2/src/gui/kernel/qkeysequence.cpp qt-gui-4.7.2-keypad/work/qt-everywhere-opensource-src-4.7.2/src/gui/kernel/qkeysequence.cpp --- qt-gui-4.7.2/work/qt-everywhere-opensource-src-4.7.2/src/gui/kernel/qkeysequence.cpp 2011-02-22 06:03:58.000000000 -0600 +++ qt-gui-4.7.2-keypad/work/qt-everywhere-opensource-src-4.7.2/src/gui/kernel/qkeysequence.cpp 2011-03-06 20:37:42.000000000 -0600 @@ -1219,7 +1219,9 @@ *gmodifs << QModifKeyName(Qt::CTRL, QLatin1String("ctrl+")) << QModifKeyName(Qt::SHIFT, QLatin1String("shift+")) << QModifKeyName(Qt::ALT, QLatin1String("alt+")) - << QModifKeyName(Qt::META, QLatin1String("meta+")); + << QModifKeyName(Qt::META, QLatin1String("meta+")) + << QModifKeyName(Qt::KP, QLatin1String("kp+")) + << QModifKeyName(Qt::GROUP, QLatin1String("group+")); } } else { gmodifs = globalPortableModifs(); @@ -1227,7 +1229,9 @@ *gmodifs << QModifKeyName(Qt::CTRL, QLatin1String("ctrl+")) << QModifKeyName(Qt::SHIFT, QLatin1String("shift+")) << QModifKeyName(Qt::ALT, QLatin1String("alt+")) - << QModifKeyName(Qt::META, QLatin1String("meta+")); + << QModifKeyName(Qt::META, QLatin1String("meta+")) + << QModifKeyName(Qt::KP, QLatin1String("kp+")) + << QModifKeyName(Qt::GROUP, QLatin1String("group+")); } } if (!gmodifs) return ret; @@ -1238,7 +1242,9 @@ modifs << QModifKeyName(Qt::CTRL, QShortcut::tr("Ctrl").toLower().append(QLatin1Char('+'))) << QModifKeyName(Qt::SHIFT, QShortcut::tr("Shift").toLower().append(QLatin1Char('+'))) << QModifKeyName(Qt::ALT, QShortcut::tr("Alt").toLower().append(QLatin1Char('+'))) - << QModifKeyName(Qt::META, QShortcut::tr("Meta").toLower().append(QLatin1Char('+'))); + << QModifKeyName(Qt::META, QShortcut::tr("Meta").toLower().append(QLatin1Char('+'))) + << QModifKeyName(Qt::KP, QShortcut::tr("Kp").toLower().append(QLatin1Char('+'))) + << QModifKeyName(Qt::GROUP, QShortcut::tr("Group").toLower().append(QLatin1Char('+'))); } modifs += *gmodifs; // Test non-translated ones last @@ -1345,9 +1351,9 @@ // for us, which means that we have to adjust our order here. // The upshot is a lot more infrastructure to keep the number of // if tests down and the code relatively clean. - static const int ModifierOrder[] = { Qt::META, Qt::ALT, Qt::SHIFT, Qt::CTRL, 0 }; + static const int ModifierOrder[] = { Qt::META, Qt::ALT, Qt::SHIFT, Qt::CTRL, Qt::KP, Qt::GROUP, 0 }; static const int QtKeyOrder[] = { Qt::Key_Meta, Qt::Key_Alt, Qt::Key_Shift, Qt::Key_Control, 0 }; - static const int DontSwapModifierOrder[] = { Qt::CTRL, Qt::ALT, Qt::SHIFT, Qt::META, 0 }; + static const int DontSwapModifierOrder[] = { Qt::CTRL, Qt::ALT, Qt::SHIFT, Qt::META, Qt::KP, Qt::GROUP, 0 }; static const int DontSwapQtKeyOrder[] = { Qt::Key_Control, Qt::Key_Alt, Qt::Key_Shift, Qt::Key_Meta, 0 }; const int *modifierOrder; const int *qtkeyOrder; @@ -1375,10 +1381,14 @@ addKey(s, nativeText ? QShortcut::tr("Alt") : QString::fromLatin1("Alt"), format); if ((key & Qt::SHIFT) == Qt::SHIFT) addKey(s, nativeText ? QShortcut::tr("Shift") : QString::fromLatin1("Shift"), format); + if ((key & Qt::KP) == Qt::KP) + addKey(s, nativeText ? QShortcut::tr("Kp") : QString::fromLatin1("Kp"), format); + if ((key & Qt::GROUP) == Qt::GROUP) + addKey(s, nativeText ? QShortcut::tr("Group") : QString::fromLatin1("Group"), format); } - key &= ~(Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt::MetaModifier); + key &= ~(Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier | Qt::MetaModifier | Qt::KeypadModifier | Qt::GroupSwitchModifier); QString p; if (key && key < Qt::Key_Escape && key != Qt::Key_Space) { diff -Nur qt-gui-4.7.2/work/qt-everywhere-opensource-src-4.7.2/src/gui/kernel//qshortcutmap.cpp qt-gui-4.7.2/work/qt-everywhere-opensource-src-4.7.2/src/gui/kernel//qshortcutmap.cpp --- qt-gui-4.7.2/work/qt-everywhere-opensource-src-4.7.2/src/gui/kernel//qshortcutmap.cpp 2011-02-22 06:03:58.000000000 -0600 +++ qt-gui-4.7.2-keypad/work/qt-everywhere-opensource-src-4.7.2/src/gui/kernel//qshortcutmap.cpp 2011-03-07 01:43:48.000000000 -0600 @@ -580,7 +566,7 @@ curKsl.setKey(0, 3); } // Filtering keycode here with 0xdfffffff to ignore the Keypad modifier - curKsl.setKey(possibleKeys.at(pkNum) & 0xdfffffff, index); + curKsl.setKey(possibleKeys.at(pkNum), index); } } }