32Q_GUI_EXPORT void qt_handleKeyEvent(QWindow *w, QEvent::Type t,
int k, Qt::KeyboardModifiers mods,
const QString & text = QString(),
bool autorep =
false, ushort count = 1);
49 QString text, Qt::KeyboardModifiers modifier,
int delay=-1)
54 window = QGuiApplication::focusWindow();
59 if (action ==
Click) {
60 QPointer<QWindow> ptr(window);
61 sendKeyEvent(
Press, window, code, text, modifier, delay);
64 sendKeyEvent(
Release, window, code, text, modifier, delay);
72 qt_sendShortcutOverrideEvent(window, timestamp, code, modifier, text, repeat);
76 if (action ==
Press) {
77 if (modifier & Qt::ShiftModifier)
78 simulateEvent(window,
true, Qt::Key_Shift, Qt::KeyboardModifiers(), QString(),
false, delay);
80 if (modifier & Qt::ControlModifier)
81 simulateEvent(window,
true, Qt::Key_Control, modifier & Qt::ShiftModifier, QString(),
false, delay);
83 if (modifier & Qt::AltModifier)
84 simulateEvent(window,
true, Qt::Key_Alt,
85 modifier & (Qt::ShiftModifier | Qt::ControlModifier), QString(),
false, delay);
86 if (modifier & Qt::MetaModifier)
87 simulateEvent(window,
true, Qt::Key_Meta, modifier & (Qt::ShiftModifier
88 | Qt::ControlModifier | Qt::AltModifier), QString(),
false, delay);
89 simulateEvent(window,
true, code, modifier, text, repeat, delay);
91 simulateEvent(window,
false, code, modifier, text, repeat, delay);
93 if (modifier & Qt::MetaModifier)
94 simulateEvent(window,
false, Qt::Key_Meta, modifier, QString(),
false, delay);
95 if (modifier & Qt::AltModifier)
96 simulateEvent(window,
false, Qt::Key_Alt, modifier &
97 (Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier), QString(),
false, delay);
99 if (modifier & Qt::ControlModifier)
100 simulateEvent(window,
false, Qt::Key_Control,
101 modifier & (Qt::ShiftModifier | Qt::ControlModifier), QString(),
false, delay);
103 if (modifier & Qt::ShiftModifier)
104 simulateEvent(window,
false, Qt::Key_Shift, modifier & Qt::ShiftModifier, QString(),
false, delay);
110 char ascii, Qt::KeyboardModifiers modifier,
int delay=-1)
114 text = QString(QChar::fromLatin1(ascii));
115 sendKeyEvent(action, window, code, text, modifier, delay);