Support {MODE=VIRTUAL} on macOS

* Fix #8433
This commit is contained in:
Jonathan White 2022-09-11 09:21:06 -04:00
parent 2c256023a9
commit d90b32a7c9
2 changed files with 6 additions and 2 deletions

View File

@ -324,7 +324,7 @@ void AutoTypeSelectDialog::buildActionMenu()
submitAutoTypeMatch(match);
});
#ifdef Q_OS_WIN
#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
auto typeVirtualAction = new QAction(icons()->icon("auto-type"), tr("Use Virtual Keyboard"));
m_actionMenu->insertAction(copyUsernameAction, typeVirtualAction);
typeVirtualAction->setShortcut(Qt::CTRL + Qt::Key_4);
@ -340,7 +340,7 @@ void AutoTypeSelectDialog::buildActionMenu()
typeUsernameAction->setShortcutVisibleInContextMenu(true);
typePasswordAction->setShortcutVisibleInContextMenu(true);
typeTotpAction->setShortcutVisibleInContextMenu(true);
#ifdef Q_OS_WIN
#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
typeVirtualAction->setShortcutVisibleInContextMenu(true);
#endif
#endif

View File

@ -250,6 +250,10 @@ AutoTypeAction::Result AutoTypeExecutorMac::execType(const AutoTypeKey* action)
int ch = action->character.toUpper().toLatin1();
m_platform->sendKey(static_cast<Qt::Key>(ch), true, action->modifiers);
m_platform->sendKey(static_cast<Qt::Key>(ch), false, action->modifiers);
} else if (mode == Mode::VIRTUAL) {
int ch = action->character.toLatin1();
m_platform->sendKey(static_cast<Qt::Key>(ch), true, action->modifiers);
m_platform->sendKey(static_cast<Qt::Key>(ch), false, action->modifiers);
} else {
m_platform->sendChar(action->character, true);
m_platform->sendChar(action->character, false);