Exclusive layer surfaces with empty input regions still capture pointer focus #14136
Unanswered
y3owk1n
asked this question in
Bugs - Other
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.
Uh oh!
There was an error while loading. Please reload this page.
Summary
When a layer shell surface uses
EXCLUSIVEkeyboard interactivity combined with an empty input region, pointer events should pass through to windows below per the protocol spec. This works correctly on sway and niri, but not on Hyprland — the overlay captures all mouse events regardless of the input region.Expected behavior
A layer surface with:
ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_EXCLUSIVE(keyboard interactivity)wl_surface.set_input_region(mouse passthrough)...should receive keyboard events but allow pointer events (clicks, scroll, hover) to fall through to windows underneath.
Actual behavior
On Hyprland, all pointer events are routed to the exclusive layer surface, even when its input region is empty. Windows below the overlay receive no mouse input at all.
I am trying to have an overlay layer for grid navigation where when the overlay is on, the overlay can react with the keyboard presses, but mouse actions should pass through to the window underneath it.
I am not sure if this is a bug or is intended (that's why I am asking here), but I can't make it work properly, and this should work as per #6059 (comment)
Also if this is not a bug and is intended by design, can someone guide me through what should i look into to make this happen.
All reactions