Ship a default keybind for keyboard passthrough to VM/remote-desktop windows (RDP, VNC, Citrix, Looking Glass) #9646
CJHarmath
started this conversation in
Suggestions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Running any remote-desktop or VM client under Hyprland hits the same problem: Hyprland's own global shortcuts (
SUPER+1...SUPER+0workspace switching,ALT+TABwindow cycling,SUPER+<key>app launches, etc.) are captured by the compositor before the focused client window — the VM, the RDP session, the Citrix session — ever sees the keypress. SoAlt+Tabinside a remote session switches local Hyprland windows instead of doing anything remote-side.There's already real demand for VM-adjacent workflows in Omarchy — see #3455 (GPU Passthrough + Windows VM w/ Looking Glass) — and this same passthrough need applies equally to RDP clients (Remmina, FreeRDP), VNC, and Citrix Workspace, not just Looking Glass.
Fix that worked, built entirely from stock Hyprland Lua config, no plugin needed — a keybind submap that suspends Hyprland's normal shortcuts while active, so unbound keys (nearly everything, since the submap defines almost none) pass straight through to the focused window:
Deliberately different entry/exit keys (backtick to enter, shift+backtick to exit) since submaps don't reliably toggle off on the same combo that toggled them on. Manual recovery via
hyprctl dispatch 'hl.dsp.submap("reset")'if input ever feels stuck — goes through the compositor socket, not keyboard input. Full write-up: https://gist.github.com/CJHarmath/53ee5cdc6c02e4467ec051cfac9b1bb9Suggestion: Omarchy already ships plenty of opinionated defaults for niche-but-common workflows (nvidia detection, sleep/hibernate GPU handling, gaming installers, etc.) — this fits the same mold. Ship a keybind like this on by default rather than leaving it as a doc footnote, so RDP/VNC/Citrix/VM users get working passthrough out of the box instead of each independently rediscovering the same three-line submap.
All reactions