From 74fb8e0048656484d6c18241d55f916df1261c71 Mon Sep 17 00:00:00 2001 From: Tatsuyuki Ishi Date: Mon, 26 Jul 2021 15:36:32 +0900 Subject: [PATCH] FcitxQtKeySequenceWidget: fix meta key handling fcitx-kcm refuses to accept shortcuts like Meta-Space without this patch. It also gives Unicode salad when only Meta key is pressed. The code was sourced from the latest KDE equivalent of this function, which is KeySequenceRecorderPrivate::handleKeyPress from KGuiAddons. --- widgetsaddons/fcitxqtkeysequencewidget.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/widgetsaddons/fcitxqtkeysequencewidget.cpp b/widgetsaddons/fcitxqtkeysequencewidget.cpp index 41e516b..5b3ee68 100644 --- a/widgetsaddons/fcitxqtkeysequencewidget.cpp +++ b/widgetsaddons/fcitxqtkeysequencewidget.cpp @@ -394,6 +394,11 @@ void FcitxQtKeySequenceButton::keyPressEvent(QKeyEvent *e) { switch (keyQt) { case Qt::Key_AltGr: // or else we get unicode salad return; + case Qt::Key_Super_L: + case Qt::Key_Super_R: + // Qt doesn't properly recognize Super_L/Super_R as MetaModifier + d->modifierKeys |= Qt::MetaModifier; + Q_FALLTHROUGH(); case Qt::Key_Shift: case Qt::Key_Control: case Qt::Key_Alt: