https://bugs.kde.org/show_bug.cgi?id=454474
Bug ID: 454474 Summary: KWin tabbox: pass down keys autorepeat flag Product: kwin Version: git master Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: effects-tabbox Assignee: kwin-bugs-n...@kde.org Reporter: m...@ratijas.tk Target Milestone: --- Created attachment 149250 --> https://bugs.kde.org/attachment.cgi?id=149250&action=edit KWin tabbox - autorepeat SUMMARY Currently in tabbox code, code in C++ and QML/JS there's no `autorepeat` flag for key events. I looked at the code, but seemed like quite a complicated and custom handling of shortcuts, keeping track of pressed modifiers (so that the tabbox does not close while user is holding down Alt key of the Alt+Tab/Alt+Shift+Tab shortcuts) etc. It turned out to be non-trivial to fix, especially since it deals with raw xcb events (and I didn't find an autorepeat information in those structs). Can we still add that flag when keys are really held down, please? STEPS TO REPRODUCE 1. Open more than 1 window 2. Press & hold Alt+Tab OBSERVED RESULT Selection cycles through the tabbox, endlessly wrapping at the edges. QML code in tabbox implementations does not receive "autorepeat" flag with Keys.onPressed event. EXPECTED RESULT Autorepeat mode should be detectable in code, and acted upon to provide slightly different behavior from discrete key presses. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 5.25.80 KDE Frameworks Version: 5.95.0 Qt Version: 5.15.4 Kernel Version: 5.17.9-arch1-1 (64-bit) Graphics Platform: X11 Processors: 8 × Intel® Core™ i7-6700HQ CPU @ 2.60GHz Memory: 15.6 GiB of RAM Graphics Processor: NVIDIA GeForce GTX 970M/PCIe/SSE2 ADDITIONAL INFORMATION My usecase it to add "boundary checks" handling, so that auto-repeated Alt+Tabs would stop at the end of a window list instead of cycling forever. Here an example of already implemented and merged functionality: https://invent.kde.org/plasma/kscreen/-/merge_requests/90 Note that in case of this specific KScreen OSD I'd like to also support pressing and holding Meta+P to cycle through the list. -- You are receiving this mail because: You are watching all bug changes.