MCPcopy Create free account
hub / github.com/Zalafina/QKeyMapper / releaseKeyboardModifiersDirect

Method releaseKeyboardModifiersDirect

QKeyMapper/qkeymapper_worker.cpp:16837–16888  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16835}
16836
16837bool 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
16890void QKeyMapper_Worker::startBurstKeyTimer(const QString &burstKey, int mappingIndex, QList<MAP_KEYDATA> *keyMappingDataList)
16891{

Callers

nothing calls this directly

Calls 2

isEmptyMethod · 0.80
sendInputKeysMethod · 0.80

Tested by

no test coverage detected