| 16835 | } |
| 16836 | |
| 16837 | bool QKeyMapper_Worker::releaseKeyboardModifiersDirect(const Qt::KeyboardModifiers modifiers) |
| 16838 | { |
| 16839 | bool releasemodifier = false; |
| 16840 | QStringList pressedKeyboardModifiersList; |
| 16841 | if ((GetAsyncKeyState(VK_LSHIFT) & 0x8000) != 0 && modifiers.testFlag(Qt::ShiftModifier)) { |
| 16842 | pressedKeyboardModifiersList.append("L-Shift"); |
| 16843 | releasemodifier = true; |
| 16844 | } |
| 16845 | if ((GetAsyncKeyState(VK_RSHIFT) & 0x8000) != 0 && modifiers.testFlag(Qt::ShiftModifier)) { |
| 16846 | pressedKeyboardModifiersList.append("R-Shift"); |
| 16847 | releasemodifier = true; |
| 16848 | } |
| 16849 | if ((GetAsyncKeyState(VK_LCONTROL) & 0x8000) != 0 && modifiers.testFlag(Qt::ControlModifier)) { |
| 16850 | pressedKeyboardModifiersList.append("L-Ctrl"); |
| 16851 | releasemodifier = true; |
| 16852 | } |
| 16853 | if ((GetAsyncKeyState(VK_RCONTROL) & 0x8000) != 0 && modifiers.testFlag(Qt::ControlModifier)) { |
| 16854 | pressedKeyboardModifiersList.append("R-Ctrl"); |
| 16855 | releasemodifier = true; |
| 16856 | } |
| 16857 | if ((GetAsyncKeyState(VK_LMENU) & 0x8000) != 0 && modifiers.testFlag(Qt::AltModifier)) { |
| 16858 | pressedKeyboardModifiersList.append("L-Alt"); |
| 16859 | releasemodifier = true; |
| 16860 | } |
| 16861 | if ((GetAsyncKeyState(VK_RMENU) & 0x8000) != 0 && modifiers.testFlag(Qt::AltModifier)) { |
| 16862 | pressedKeyboardModifiersList.append("R-Alt"); |
| 16863 | releasemodifier = true; |
| 16864 | } |
| 16865 | if ((GetAsyncKeyState(VK_LWIN) & 0x8000) != 0 && modifiers.testFlag(Qt::MetaModifier)) { |
| 16866 | pressedKeyboardModifiersList.append("L-Win"); |
| 16867 | releasemodifier = true; |
| 16868 | } |
| 16869 | if ((GetAsyncKeyState(VK_RWIN) & 0x8000) != 0 && modifiers.testFlag(Qt::MetaModifier)) { |
| 16870 | pressedKeyboardModifiersList.append("R-Win"); |
| 16871 | releasemodifier = true; |
| 16872 | } |
| 16873 | |
| 16874 | if (pressedKeyboardModifiersList.isEmpty()) { |
| 16875 | return false; |
| 16876 | } |
| 16877 | |
| 16878 | SendInputTaskController &controller = SendInputTask::s_GlobalSendInputTaskController; |
| 16879 | controller.sendvirtualkey_state = SENDVIRTUALKEY_STATE_MODIFIERS; |
| 16880 | for (const QString &modifierstr : std::as_const(pressedKeyboardModifiersList)) { |
| 16881 | QStringList mappingKeyList = QStringList() << modifierstr; |
| 16882 | QString original_key = QString(KEYBOARD_MODIFIERS); |
| 16883 | QKeyMapper_Worker::getInstance()->sendInputKeys(-1, mappingKeyList, KEY_UP, original_key, SENDMODE_NORMAL, controller); |
| 16884 | } |
| 16885 | controller.sendvirtualkey_state = SENDVIRTUALKEY_STATE_NORMAL; |
| 16886 | |
| 16887 | return releasemodifier; |
| 16888 | } |
| 16889 | |
| 16890 | void QKeyMapper_Worker::startBurstKeyTimer(const QString &burstKey, int mappingIndex, QList<MAP_KEYDATA> *keyMappingDataList) |
| 16891 | { |
nothing calls this directly
no test coverage detected