Bug 405877 - Rules to ignore global shortcuts ignored when mouse pointer grabbed.
Summary: Rules to ignore global shortcuts ignored when mouse pointer grabbed.
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: rules (show other bugs)
Version: 5.14.5
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-26 02:10 UTC by logan
Modified: 2023-08-07 10:25 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description logan 2019-03-26 02:10:58 UTC
SUMMARY
Window rules for ignoring global shortcuts do not function when a window grabs the mouse pointer.  This happens both with sdl2 windows and gtk3 windows, running under wayland or Xwayland (Xorg not tested).  This happens both with qemu and dosbox.

STEPS TO REPRODUCE
1. Create a rule to ignore global shortcuts for qemu
2. Launch qemu with the sdl or gtk backend
3. Click in the qemu window to grab the mouse pointer
4. Hit ctr-alt-delete or other global shortcut: shortcut is not passed through to qemu

5. Set qemu as the active window but don't grab the mouse (alt-tab to select qemu)
6. Hit ctrl-alt-delete or other global shortcut: shortcut is passed through to qemu

OBSERVED RESULT
Global keyboard shortcuts are not ignored and are not passed to the window with the locked pointer.  For example, ctrl-alt-delete brings up the logout/shutdown menu, F12 opens the dropdown terminal emulator yakuake.

EXPECTED RESULT
Global keyboard shortcuts should be passed to the window with the locked mouse pointer.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 4.19.27-gentoo 
(available in About System)
KDE Plasma Version: 5.14.5.1
KDE Frameworks Version: 5.54.0
Qt Version: 5.11.3-r2

ADDITIONAL INFORMATION
Comment 1 Martin Flöser 2019-03-26 05:40:00 UTC
Please verify that your rule matches the window.
Comment 2 logan 2019-03-27 00:10:35 UTC
(In reply to Martin Flöser from comment #1)
> Please verify that your rule matches the window.

I have.  Rule is window title by regex, regex is .*QEMU.* 
When the window has focus, but I have not clicked in the mousecapture area of the window, the rule properly applies (ctr-alt-delete passes through properly, f12 is ignored by yakuake).
Comment 3 Martin Flöser 2019-03-27 05:18:42 UTC
Could it be that qemu has multiple windows?
Comment 4 logan 2019-03-27 18:29:50 UTC
Happens both with qemu in sdl mode (2 windows) and gtk mode (1 window).  Happens with dosbox (1 window) too (with .*DOS.* as the window match).
Comment 5 Martin Zbořil 2021-03-01 14:32:54 UTC
"Frets on Fire" is yet another application where this would be a nice feature if it worked - the game uses F1 to F6 keys, some kwin effects as expose were assigned by me to some fn keys and yakuake uses (by default annoyingly useless) F1 key to show the console, I hoped to keep the expose effect as well as yakuake and still be able to play the game (let my son play that) by forcing ignoring the global keyboard shortcuts ... but it doesn't work.
Comment 6 Andrew Shark 2023-08-07 10:25:07 UTC
I cannot reproduce. I checked with virt-manager (qemu).
Created a window rule to ignore global shortcuts (for wayland, the window class is "python3.11 virt-manager"; for x11 it is "virt-manager virt-manager").
Now load any virtual machine using iso (I used kde neon). Click in the window. The title will say "Press Control_L + Alt_L to release the mouse".
Now press ctrl+alt+del.
You see, the machine is rebooted (if it is in grub screen) or the reboot overlay is shown inside the machine (if loaded into the neon), and not in the host system.
Note: the ctrl+alt+f1 - ctrl+alt+f0 are still not ignored, means they switch tty on the host system.
I also checked when virt-manager runs under xwayland (run with GDK_BACKEND=x11). The behavior is the same.

I also checked with VirtualBox (it currently cannot run natively on wayland), and it simply cannot correctly grab the pointer (when in grabbed mode, I can easily move mouse outside of the vm area). But it is another issue. Virtualbox version 7.0.10 r158379

Operating System: Arch Linux 
KDE Plasma Version: 5.27.7
KDE Frameworks Version: 5.108.0
Qt Version: 5.15.10
Graphics Platform: Wayland