Bug 475748

Summary: Default keybindings (for e.g. virtual desktop switching) are not enabled by default
Product: [Plasma] kwin Reporter: Neal Gompa <ngompa13>
Component: generalAssignee: Joshua Goins <josh>
Status: RESOLVED FIXED    
Severity: normal CC: josh, nate
Priority: NOR    
Version: 5.27.8   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 5.27.9

Description Neal Gompa 2023-10-17 15:08:13 UTC
SUMMARY
With a fresh Fedora KDE install, a number of default keybindings are not enabled by default, leading to a puzzling situation where it looks like you have them, but they don't work.

A specific example are the key bindings for switching virtual desktops using Meta+Ctrl+ArrowKeys. These are the default, but don't work without setting them in System Settings > Shortcuts > KWin.


STEPS TO REPRODUCE
1. Install Fedora KDE
2. Configure virtual desktops (I use a 2x2 grid)
3. Try switching with the mentioned keybindings in the summary.

OBSERVED RESULT
Virtual desktops don't switch with the keybindings.

EXPECTED RESULT
Virtual desktops switch with the default keybindings.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Fedora Linux 39 (KDE Plasma)
(available in About System)
KDE Plasma Version: 5.27.8
KDE Frameworks Version: 5.110.0
Qt Version: 5.15.10

ADDITIONAL INFORMATION
I've noticed this affects a number of default keybindings, and I don't understand why any default keybindings are disabled by default.
Comment 1 Bug Janitor Service 2023-10-17 18:54:44 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4519
Comment 2 Vlad Zahorodnii 2023-10-19 06:55:08 UTC
Git commit e398289287d3e25ec48111c4f2a2b9d2a1195c00 by Vlad Zahorodnii, on behalf of Joshua Goins.
Committed on 19/10/2023 at 08:45.
Pushed by vladz into branch 'master'.

Add QKeySequence to VirtualDesktopManager::addAction overload

There are four usages of this overload, two of them are for the
intentionally disabled "Switch to Next/Previous Desktop" actions and the
rest are for "Switch One Desktop to X" actions. Due to the order they
were added, an empty keybind was set as the default and the actual
keybind is never enabled.

Now there's a QKeySequence argument to this overload, so an unexpected
empty keybind is never added. The two usages of addAction that depend on
this empty keybind behavior now pass in an empty QKeySequence.

M  +8    -12   src/virtualdesktops.cpp
M  +3    -3    src/virtualdesktops.h

https://invent.kde.org/plasma/kwin/-/commit/e398289287d3e25ec48111c4f2a2b9d2a1195c00
Comment 3 Vlad Zahorodnii 2023-10-19 07:11:43 UTC
Git commit 53e1c3838cacdee633a5ceeade01b460c04e42d1 by Vlad Zahorodnii, on behalf of Joshua Goins.
Committed on 19/10/2023 at 09:11.
Pushed by vladz into branch 'Plasma/5.27'.

Add QKeySequence to VirtualDesktopManager::addAction overload

There are four usages of this overload, two of them are for the
intentionally disabled "Switch to Next/Previous Desktop" actions and the
rest are for "Switch One Desktop to X" actions. Due to the order they
were added, an empty keybind was set as the default and the actual
keybind is never enabled.

Now there's a QKeySequence argument to this overload, so an unexpected
empty keybind is never added. The two usages of addAction that depend on
this empty keybind behavior now pass in an empty QKeySequence.


(cherry picked from commit e398289287d3e25ec48111c4f2a2b9d2a1195c00)

M  +8    -12   src/virtualdesktops.cpp
M  +3    -3    src/virtualdesktops.h

https://invent.kde.org/plasma/kwin/-/commit/53e1c3838cacdee633a5ceeade01b460c04e42d1