mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2024-10-01 01:26:01 -04:00
support different keyboard layout
This commit is contained in:
parent
6c1f023768
commit
a6e142dd02
@ -473,8 +473,12 @@ KeySym AutoTypePlatformX11::keyToKeySym(Qt::Key key)
|
|||||||
return XK_Print;
|
return XK_Print;
|
||||||
case Qt::Key_ScrollLock:
|
case Qt::Key_ScrollLock:
|
||||||
return XK_Scroll_Lock;
|
return XK_Scroll_Lock;
|
||||||
|
case Qt::Key_Shift:
|
||||||
|
return XK_Shift_L;
|
||||||
case Qt::Key_Control:
|
case Qt::Key_Control:
|
||||||
return XK_Control_L;
|
return XK_Control_L;
|
||||||
|
case Qt::Key_Alt:
|
||||||
|
return XK_Alt_L;
|
||||||
default:
|
default:
|
||||||
if (key >= Qt::Key_F1 && key <= Qt::Key_F16) {
|
if (key >= Qt::Key_F1 && key <= Qt::Key_F16) {
|
||||||
return XK_F1 + (key - Qt::Key_F1);
|
return XK_F1 + (key - Qt::Key_F1);
|
||||||
@ -855,14 +859,23 @@ void AutoTypeExecutorX11::execClearField(AutoTypeClearField* action = nullptr)
|
|||||||
{
|
{
|
||||||
Q_UNUSED(action);
|
Q_UNUSED(action);
|
||||||
|
|
||||||
m_platform->SendKey(m_platform->keyToKeySym(Qt::Key_Control), true);
|
|
||||||
m_platform->SendKeyPressedEvent(m_platform->charToKeySym('a'));
|
|
||||||
m_platform->SendKey(m_platform->keyToKeySym(Qt::Key_Control), false);
|
|
||||||
m_platform->SendKeyPressedEvent(m_platform->keyToKeySym(Qt::Key_Delete));
|
|
||||||
|
|
||||||
timespec ts;
|
timespec ts;
|
||||||
ts.tv_sec = 0;
|
ts.tv_sec = 0;
|
||||||
ts.tv_nsec = 25 * 1000 * 1000;
|
ts.tv_nsec = 25 * 1000 * 1000;
|
||||||
|
|
||||||
|
m_platform->SendKey(m_platform->keyToKeySym(Qt::Key_Control), true);
|
||||||
|
m_platform->SendKeyPressedEvent(m_platform->keyToKeySym(Qt::Key_Home));
|
||||||
|
m_platform->SendKey(m_platform->keyToKeySym(Qt::Key_Control), false);
|
||||||
|
nanosleep(&ts, nullptr);
|
||||||
|
|
||||||
|
m_platform->SendKey(m_platform->keyToKeySym(Qt::Key_Control), true);
|
||||||
|
m_platform->SendKey(m_platform->keyToKeySym(Qt::Key_Shift), true);
|
||||||
|
m_platform->SendKeyPressedEvent(m_platform->keyToKeySym(Qt::Key_End));
|
||||||
|
m_platform->SendKey(m_platform->keyToKeySym(Qt::Key_Shift), false);
|
||||||
|
m_platform->SendKey(m_platform->keyToKeySym(Qt::Key_Control), false);
|
||||||
|
nanosleep(&ts, nullptr);
|
||||||
|
|
||||||
|
m_platform->SendKeyPressedEvent(m_platform->keyToKeySym(Qt::Key_Backspace));
|
||||||
nanosleep(&ts, nullptr);
|
nanosleep(&ts, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user