Bug 427730

Summary: Adding "Meta+Tab" as a shortcut in the shortcut chooser results in additional "Tab"s
Product: [Frameworks and Libraries] frameworks-kdeclarative Reporter: Keith <keithhacks-kdebug>
Component: generalAssignee: Marco Martin <notmart>
Status: RESOLVED FIXED    
Severity: normal CC: francogpellegrini, kde, kdelibs-bugs, keithhacks-kdebug, nate, plasma-bugs
Priority: NOR    
Version: 5.75.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.77

Description Keith 2020-10-15 00:36:44 UTC
SUMMARY


STEPS TO REPRODUCE
1. Go to Settings -> Shortcuts.
2. Edit a shortcut and click the button to make a new key binding.
3. Press Meta+Tab.

OBSERVED RESULT
The shortcut is bound to "Meta+Tab,Tab,Tab".

EXPECTED RESULT
The shortcut is bound to "Meta+Tab".


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 5.20
(available in About System)
KDE Plasma Version: 5.20.0
KDE Frameworks Version: 5.75.0
Qt Version: 5.15.0

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2020-10-16 14:16:47 UTC
lol can confirm.
Comment 2 Nate Graham 2020-10-29 19:11:58 UTC
*** Bug 428017 has been marked as a duplicate of this bug. ***
Comment 3 David Redondo 2020-10-30 08:04:41 UTC
I think that is because we get repeat keys that are handled wrong.

https://invent.kde.org/plasma/plasma-desktop/-/commit/1800d327301eaa6ffd2aa5c4af24cadd4ae223a4
Improves it a bit for global shortcuts because global shortcuts only support one key combination and the rest would be discarded.

The underlying problem will be solved with the patch series that includes 
https://invent.kde.org/frameworks/kdeclarative/-/merge_requests/27 according to my testing
Comment 4 David Redondo 2020-11-12 16:36:10 UTC
Git commit 63d4a2a0f29d0059f1076775cbf5b22b1ef7c29d by David Redondo.
Committed on 12/11/2020 at 16:32.
Pushed by davidre into branch 'master'.

Rewrite KeySequenceItem (and helper) to use KeySequenceRecorder

Use the new KeySequenceRecorder which was created for this purpose. We can
remove almost all logic from the helper aside from the conflict checking.
Related: bug 407395

M  +26   -24   src/qmlcontrols/kquickcontrols/KeySequenceItem.qml
M  +1    -0    src/qmlcontrols/kquickcontrols/private/CMakeLists.txt
M  +26   -388  src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp
M  +14   -89   src/qmlcontrols/kquickcontrols/private/keysequencehelper.h

https://invent.kde.org/frameworks/kdeclarative/commit/63d4a2a0f29d0059f1076775cbf5b22b1ef7c29d