66 if (
object !=
m_d->trackedObject)
return false;
68 switch (event->type()) {
69 case QEvent::ShortcutOverride: {
70 QKeyEvent *keyEvent =
static_cast<QKeyEvent*
>(event);
72 if (keyEvent->isAutoRepeat())
break;
76 if (
m_d->trackedKeys.contains(key)) {
77 if (
m_d->pressedKeys.contains(key)) {
80 m_d->pressedKeys.insert(key);
85 case QEvent::KeyRelease: {
86 QKeyEvent *keyEvent =
static_cast<QKeyEvent*
>(event);
88 if (keyEvent->isAutoRepeat())
break;
92 if (
m_d->trackedKeys.contains(key)) {
93 if (!
m_d->pressedKeys.contains(key)) {
96 m_d->pressedKeys.remove(key);
102 case QEvent::FocusIn: {
110 QKeyEvent kevent(QEvent::ShortcutOverride, key, modifiers);