mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-04-01 19:05:50 -04:00
Add auto-type {CLEARFIELD} on mac
This commit is contained in:
parent
86e88c18b0
commit
32fe0493c4
@ -488,3 +488,30 @@ void AutoTypeExecutorMac::execKey(AutoTypeKey* action)
|
||||
m_platform->sendKey(action->key, false);
|
||||
usleep(25 * 1000);
|
||||
}
|
||||
|
||||
void execClearFieldHelper(uint16 keyCode, bool isKeyDown, bool modifier = false)
|
||||
{
|
||||
CGEventRef keyEvent = ::CGEventCreateKeyboardEvent(nullptr, keyCode, isKeyDown);
|
||||
if (keyEvent != nullptr) {
|
||||
if (modifier) {
|
||||
::CGEventSetFlags(keyEvent, kCGEventFlagMaskCommand);
|
||||
}
|
||||
|
||||
::CGEventPost(kCGSessionEventTap, keyEvent);
|
||||
::CFRelease(keyEvent);
|
||||
}
|
||||
usleep(25 * 1000);
|
||||
}
|
||||
|
||||
void AutoTypeExecutorMac::execClearField(AutoTypeClearField* action = nullptr)
|
||||
{
|
||||
Q_UNUSED(action);
|
||||
|
||||
execClearFieldHelper(kVK_ANSI_A, true, true);
|
||||
execClearFieldHelper(kVK_ANSI_A, false);
|
||||
execClearFieldHelper(kVK_Command, false);
|
||||
execClearFieldHelper(kVK_Delete, true);
|
||||
execClearFieldHelper(kVK_Delete, false);
|
||||
|
||||
usleep(25 * 1000);
|
||||
}
|
||||
|
@ -73,6 +73,7 @@ public:
|
||||
|
||||
void execChar(AutoTypeChar* action) override;
|
||||
void execKey(AutoTypeKey* action) override;
|
||||
void execClearField(AutoTypeClearField* action) override;
|
||||
|
||||
private:
|
||||
AutoTypePlatformMac* const m_platform;
|
||||
|
Loading…
x
Reference in New Issue
Block a user