38 const int maxFunctionKey = cfg.ignoreHighFunctionKeys() ? VK_F12 : VK_F24;
40 if (GetKeyboardState(vkeys)) {
41 for (
int i = 0; i < 256; i++) {
42 if (vkeys[i] & 0x80) {
44 result << Qt::Key_Shift;
45 }
else if (i == VK_CONTROL) {
46 result << Qt::Key_Control;
47 }
else if (i == VK_MENU) {
48 result << Qt::Key_Alt;
49 }
else if (i == VK_LWIN || i == VK_RWIN) {
50 result << Qt::Key_Meta;
51 }
else if (i == VK_SPACE) {
52 result << Qt::Key_Space;
53 }
else if (i >= 0x30 && i <= 0x39) {
54 result << static_cast<Qt::Key>(Qt::Key_0 + i - 0x30);
55 }
else if (i >= 0x41 && i <= 0x5A) {
56 result << static_cast<Qt::Key>(Qt::Key_A + i - 0x41);
57 }
else if (i >= 0x60 && i <= 0x69) {
58 result << static_cast<Qt::Key>(Qt::Key_0 + i - 0x60);
59 }
else if (i >= VK_F1 && i <= maxFunctionKey) {
60 result << static_cast<Qt::Key>(Qt::Key_F1 + i - VK_F1);
87void KisExtendedModifiersMapper::setLocalMonitor(
bool activate,
KisShortcutMatcher *matcher)
98 static_cast<KisApplication*
>(qApp)->extendedModifiersPluginInterface();
107 modifiers = queryPressedKeysWin();
108#elif defined Q_OS_MACOS
119 return QApplication::queryKeyboardModifiers();
124 Qt::Key key = (Qt::Key)keyEvent->key();
126 if (keyEvent->key() == Qt::Key_Meta &&
127 keyEvent->modifiers().testFlag(Qt::ShiftModifier)) {
139 if (standardModifiers & Qt::ShiftModifier) {
140 modifiers << Qt::Key_Shift;
143 if (standardModifiers & Qt::ControlModifier) {
144 modifiers << Qt::Key_Control;
147 if (standardModifiers & Qt::AltModifier) {
148 modifiers << Qt::Key_Alt;
151 if (standardModifiers & Qt::MetaModifier) {
152 modifiers << Qt::Key_Meta;
Base class for the Krita app.
virtual ExtendedModifiers queryExtendedModifiers()=0
static ExtendedModifiers qtModifiersToQtKeys(Qt::KeyboardModifiers standardModifiers)
~KisExtendedModifiersMapper()
KisExtendedModifiersMapper()
static Qt::Key workaroundShiftAltMetaHell(const QKeyEvent *keyEvent)
Qt::KeyboardModifiers queryStandardModifiers()
ExtendedModifiers queryExtendedModifiers()
void activateLocalMonitor(bool activate)
QVector< Qt::Key > queryPressedKeysMac()
void makeContainerUnique(C &container)