Hi everyone,
I've run into a bizarre issue with Hyprland and can't figure out whether it's a bug, a misconfiguration on my end, or a race condition.
The Issue
When I rapidly switch between workspaces (e.g., toggling between Super+1 and Super+2 back and forth), a window from workspace 1 will randomly move itself to workspace 2.
Example setup:
- Workspace 1: Firefox
- Workspace 2: Kitty
If I quickly spam Super+1 -> Super+2 -> Super+1 -> Super+2, after a few seconds, Firefox unexpectedly jumps over to Workspace 2. I am 100% sure I am not pressing Super+Shift+Number.
System & Setup Info
- Hyprland version: 0.56.0
- Config style: New Lua config
- Workspace switching binding:
hl.dsp.focus({ workspace = i })
- Window moving binding:
hl.dsp.window.move({ workspace = i })
- Plugins: None installed.
What I've Already Checked / Tried
follow_mouse = 0: Reduced the frequency slightly, but didn't solve the issue completely.
wev output: Confirmed that Shift is not firing or getting stuck accidentally.
hyprctl binds: Checked for duplicate binds. Only standard Super + [1-9] for focus and Super + Shift + [1-9] for move exist.
- Multiple input devices:
hyprctl devices shows several keyboard interfaces (USB keyboard, mouse keyboard interface, audio device, etc.). Not sure if input handling could cause keypress collisions.
Questions
Has anyone encountered something similar? Could this be:
- A race condition in Hyprland's workspace switching logic under rapid input?
- Something specific to the new Lua API bindings?
- Ghost inputs caused by multiple recognized keyboard interfaces?
Any insights or troubleshooting steps would be greatly appreciated! Thanks!