| Summary: | Fire shortcuts on key release, not press | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] frameworks-kglobalaccel | Reporter: | owl-from-hogvarts |
| Component: | general | Assignee: | kdelibs bugs <kdelibs-bugs-null> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | wishlist | CC: | nate |
| Priority: | NOR | ||
| Version First Reported In: | 5.97.0 | ||
| Target Milestone: | --- | ||
| Platform: | Manjaro | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
owl-from-hogvarts
2022-09-19 11:05:23 UTC
EXAMPLE Lets imagine that we have next shortcuts defined: ctrl + shift - switch keyboard layout ctrl + shift + t - open new terminal instance ctrl + shift + d - show desktop And user acts like this: "wants to show desktop and open terminal" 1. press "shift" 2. press "ctrl" 3. press "d" and release it (ctrl + shift are still pressed) 4. press "t" and release ctrl, shift, t in order 5. press ctrl, shift to switch keyboard layout 6. releases shift What happens according to the algorithm: 1. shift is added to P_BUFFER 2. ctrl is added to P_BUFFER 3. d is added to P_BUFFER 4. release event for "d" received 5. shortcut "show desktop" is fired 6. content of P_BUFFER is moved to S_BUFFER (i.e. ctrl, shift, d) 7. system detects that "d" is no longer pressed and removes it from S_BUFFER (so the content of S_BUFFER becomes "ctrl, shift") 8. press event for "t" received 9. ctrl, shift are moved back to P_BUFFER 10. "t" is added to P_BUFFER 11. "ctrl" release event received 12. open new terminal instance shortcut fired 13. content of P_BUFFER is moved to S_BUFFER (i.e. ctrl, shift, t) 14. system detects that "ctrl" is no longer pressed and removes it from S_BUFFER (so the content of S_BUFFER becomes "shift, t") 15. receives release events for "shift, t" 16. removes "shift, t" from S_BUFFER so it becomes empty 17. receives press events for "ctrl" and "shift" 18. adds them to the P_BUFFER 19. receives release event for "shift" 20. fire "switch keyboard layout" shortcut Excuse me, but may be the severeness is "major" since this thing affects all shortcuts (including of foreign applications, such as VS code, chrome). So current shortcut behavior heavily breaks my UX, because shortcuts, which includes ctrl + shift + ... are not working! *** This bug has been marked as a duplicate of bug 420493 *** |