On Thu Aug 6 22:14:10 2026 +0000, Etaash Mathamsetty wrote:
Should I try your approach? IMO, the current solution is a lot easier and will be supported on any compositor with currently existing protocols. Even with a warp event, I don't really see any way to correlate which `wl_pointer::warp` event corresponds to the pointer warp request. (Also, newer `wl_seat` versions introduce some new questions, e.g should we switch to server-side key repeat?) Well I don't know what you mean by "my approach" exactly, but I don't think there should be any interaction between SetCursorPos and ClipCursor, they are two completely independent calls. There is no guarantee one will ever be called after the other. There seem to be way too much dependency between the two in `winewayland` already, I don't think we should be adding more.
Then `SetCursorPos` should be synchronized with the received input so that any input that actually happened before the call is discarded. I'm not familiar enough with Wayland to say how this can be done for sure. It might require flushing the event queue before warping the cursor, I don't know. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11356#note_148271