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);
50 const QString &text, Qt::KeyboardModifiers modifier,
56 window = QGuiApplication::focusWindow();
61 if (action ==
Click) {
62 QPointer<QWindow> ptr(window);
63 sendKeyEvent(
Press, window, code, text, modifier, delay);
66 sendKeyEvent(
Release, window, code, text, modifier, delay);
74 qt_sendShortcutOverrideEvent(window, timestamp, code, modifier, text, repeat);
78 if (action ==
Press) {
79 if (modifier & Qt::ShiftModifier)
80 simulateEvent(window,
true, Qt::Key_Shift, Qt::KeyboardModifiers(), QString(),
false, delay);
82 if (modifier & Qt::ControlModifier)
83 simulateEvent(window,
true, Qt::Key_Control, modifier & Qt::ShiftModifier, QString(),
false, delay);
85 if (modifier & Qt::AltModifier)
86 simulateEvent(window,
true, Qt::Key_Alt,
87 modifier & (Qt::ShiftModifier | Qt::ControlModifier), QString(),
false, delay);
88 if (modifier & Qt::MetaModifier)
89 simulateEvent(window,
true, Qt::Key_Meta, modifier & (Qt::ShiftModifier
90 | Qt::ControlModifier | Qt::AltModifier), QString(),
false, delay);
91 simulateEvent(window,
true, code, modifier, text, repeat, delay);
93 simulateEvent(window,
false, code, modifier, text, repeat, delay);
95 if (modifier & Qt::MetaModifier)
96 simulateEvent(window,
false, Qt::Key_Meta, modifier, QString(),
false, delay);
97 if (modifier & Qt::AltModifier)
98 simulateEvent(window,
false, Qt::Key_Alt, modifier &
99 (Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier), QString(),
false, delay);
101 if (modifier & Qt::ControlModifier)
102 simulateEvent(window,
false, Qt::Key_Control,
103 modifier & (Qt::ShiftModifier | Qt::ControlModifier), QString(),
false, delay);
105 if (modifier & Qt::ShiftModifier)
106 simulateEvent(window,
false, Qt::Key_Shift, modifier & Qt::ShiftModifier, QString(),
false, delay);
112 char ascii, Qt::KeyboardModifiers modifier,
int delay=-1)
116 text = QString(QChar::fromLatin1(ascii));
117 sendKeyEvent(action, window, code, text, modifier, delay);