[client] cursor: restore Wayland edge synchronization

Keep guest-to-host pointer synchronization active while an attempted
surface exit is blocked by the edge of a Wayland output. Continue
forwarding relative motion and wait for wl_pointer.leave before marking
the cursor outside the window.

Distinguish whole-surface releases from exits into letterbox space so
the expected asynchronous release callback cannot disable the feedback
loop before the pointer is confined again.

Treat Wayland pointer capability loss as a real leave so an unrelated
inactive callback cannot be mistaken for the intentional release.
This commit is contained in:
Geoffrey McRae
2026-08-06 20:24:13 +10:00
parent 5cc7f06185
commit e4874ee32d
6 changed files with 134 additions and 0 deletions

View File

@@ -66,6 +66,7 @@ target_link_libraries(mouse-tests
)
set(MOUSE_CASES
inset-exit
surface-exit
exit-delay
exit-guest
exit-cancel