Allow temporary VM keyboard capture with user consent
The problem you're addressing (if any)
Some applications, especially remote-desktop applications like RustDesk or games could implement keyboard shortcuts that conflict with the system-wide keyboard shortcuts (e.g. certain key combos will just not be forwarded to rustdesk).
The solution you'd like
Allow AppVMs to capture the keyboard (via prop? checkbox in settings?), with a configured keyboard un-capture key, like RCTRL in VirtualBox.
The value to a user and who that user might be
Anyone who needs keyboard shortcuts inside an AppVM that could be duplicated by the host OS. Some games will become more playable as well. This would reduce the need for keyboard passthrough via USB, which is tedious and possibly presents additional security risks.
Completion criteria checklist
No response
Related: #4986
Workaround for keyboard shortcut issues for i3 specifically:
Define a "passthrough" mode that you activate whenever you want to use the AppVM that requires duplicated shortcuts.
# Passthrough mode for RD apps
mode "passthrough" {
bindsym $mod+Insert mode "default"
bindsym $mod+Escape mode "default"
}
bindsym $mod+Insert mode "passthrough"
Keyboard capture would still be useful for some games, though.
Here is a guide to configure this for qubes with qubes-input-proxy-receiver available:
https://forum.qubes-os.org/t/allow-temporary-vm-keyboard-capture-with-user-consent/36062
There is also a solution for HVM Windows qubes or qubes without qubes tools available:
https://forum.qubes-os.org/t/mouse-and-keyboard-passthrough-to-windows-hvm/16905