backends/x11: Set expected keyboard modifiers for modifier keys

This fixes overview toggle when the shortcut is set to a modifier key,
e.g. meta.
wilder/Plasma/6.3
Łukasz Patron 1 year ago committed by Vlad Zahorodnii
parent ec119ab3c6
commit d4241cf70d
  1. 19
      src/backends/x11/standalone/x11_standalone_effects_keyboard_interception_filter.cpp

@ -50,6 +50,25 @@ void EffectsKeyboardInterceptionX11Filter::processKey(bool press, xcb_keycode_t
}
const int qtKey = QXkbCommon::keysymToQtKey(keysym, modifiers, m_keyboard->xkbState(), keycode);
switch (qtKey) {
case Qt::Key_Shift:
modifiers |= Qt::ShiftModifier;
break;
case Qt::Key_Control:
modifiers |= Qt::ControlModifier;
break;
case Qt::Key_Alt:
modifiers |= Qt::AltModifier;
break;
case Qt::Key_Meta:
modifiers |= Qt::MetaModifier;
break;
case Qt::Key_Mode_switch:
modifiers |= Qt::GroupSwitchModifier;
break;
}
const QString text = QXkbCommon::lookupString(m_keyboard->xkbState(), keycode);
QKeyEvent keyEvent(press ? QEvent::KeyPress : QEvent::KeyRelease, qtKey, modifiers, text);

Loading…
Cancel
Save