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: [email protected]
Reporter: [email protected]
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.