| 16745 | } |
| 16746 | |
| 16747 | bool QKeyMapper_Worker::releaseKeyboardModifiers(const Qt::KeyboardModifiers modifiers, const QString &original_key, const QStringList &mappingkeyslist) |
| 16748 | { |
| 16749 | Q_UNUSED(original_key); |
| 16750 | if (mappingkeyslist.size() == 1 && mappingkeyslist.constFirst() == KEY_BLOCKED_STR) { |
| 16751 | return false; |
| 16752 | } |
| 16753 | |
| 16754 | bool releasemodifier = false; |
| 16755 | QStringList pressedKeyboardModifiersList; |
| 16756 | if ((GetAsyncKeyState(VK_LSHIFT) & 0x8000) != 0 && modifiers.testFlag(Qt::ShiftModifier)) { |
| 16757 | pressedKeyboardModifiersList.append("L-Shift"); |
| 16758 | releasemodifier = true; |
| 16759 | } |
| 16760 | if ((GetAsyncKeyState(VK_RSHIFT) & 0x8000) != 0 && modifiers.testFlag(Qt::ShiftModifier)) { |
| 16761 | pressedKeyboardModifiersList.append("R-Shift"); |
| 16762 | releasemodifier = true; |
| 16763 | } |
| 16764 | if ((GetAsyncKeyState(VK_LCONTROL) & 0x8000) != 0 && modifiers.testFlag(Qt::ControlModifier)) { |
| 16765 | pressedKeyboardModifiersList.append("L-Ctrl"); |
| 16766 | releasemodifier = true; |
| 16767 | } |
| 16768 | if ((GetAsyncKeyState(VK_RCONTROL) & 0x8000) != 0 && modifiers.testFlag(Qt::ControlModifier)) { |
| 16769 | pressedKeyboardModifiersList.append("R-Ctrl"); |
| 16770 | releasemodifier = true; |
| 16771 | } |
| 16772 | if ((GetAsyncKeyState(VK_LMENU) & 0x8000) != 0 && modifiers.testFlag(Qt::AltModifier)) { |
| 16773 | pressedKeyboardModifiersList.append("L-Alt"); |
| 16774 | releasemodifier = true; |
| 16775 | } |
| 16776 | if ((GetAsyncKeyState(VK_RMENU) & 0x8000) != 0 && modifiers.testFlag(Qt::AltModifier)) { |
| 16777 | pressedKeyboardModifiersList.append("R-Alt"); |
| 16778 | releasemodifier = true; |
| 16779 | } |
| 16780 | if ((GetAsyncKeyState(VK_LWIN) & 0x8000) != 0 && modifiers.testFlag(Qt::MetaModifier)) { |
| 16781 | pressedKeyboardModifiersList.append("L-Win"); |
| 16782 | releasemodifier = true; |
| 16783 | } |
| 16784 | if ((GetAsyncKeyState(VK_RWIN) & 0x8000) != 0 && modifiers.testFlag(Qt::MetaModifier)) { |
| 16785 | pressedKeyboardModifiersList.append("R-Win"); |
| 16786 | releasemodifier = true; |
| 16787 | } |
| 16788 | |
| 16789 | if (pressedKeyboardModifiersList.isEmpty()) { |
| 16790 | return false; |
| 16791 | } |
| 16792 | |
| 16793 | SendInputTaskController &controller = SendInputTask::s_GlobalSendInputTaskController; |
| 16794 | controller.sendvirtualkey_state = SENDVIRTUALKEY_STATE_MODIFIERS; |
| 16795 | for (const QString &modifierstr : std::as_const(pressedKeyboardModifiersList)) { |
| 16796 | QStringList mappingKeyList = QStringList() << modifierstr; |
| 16797 | // QKeyMapper_Worker::getInstance()->emit_sendInputKeysSignal_Wrapper(findindex, mappingKeyList, KEY_UP, original_key, SENDMODE_NORMAL, SENDVIRTUALKEY_STATE_MODIFIERS); |
| 16798 | QKeyMapper_Worker::getInstance()->sendInputKeys(-1, mappingKeyList, KEY_UP, KEYBOARD_MODIFIERS, SENDMODE_NORMAL, controller); |
| 16799 | } |
| 16800 | controller.sendvirtualkey_state = SENDVIRTUALKEY_STATE_NORMAL; |
| 16801 | |
| 16802 | if (modifiers.testFlag(Qt::AltModifier)) { |
| 16803 | bool shift_ctrl_modifier_status = false; |
| 16804 | if ((GetAsyncKeyState(VK_LSHIFT) & 0x8000) != 0 |
nothing calls this directly
no test coverage detected