seat: add wlr_seat_touch_notify_clear_focus

This is needed for cases where the touch operation goes over a region
where no surfaces are present. In this case, we'd want to notify the
touch grabs (for example DnD grabs) that no focus is currently focused.
This commit is contained in:
Ilia Bozhinov 2025-12-04 11:18:22 +01:00 committed by Simon Ser
parent 03b465f324
commit 0e9c6ddefa
4 changed files with 38 additions and 1 deletions

View file

@ -140,6 +140,8 @@ struct wlr_touch_grab_interface {
// Send wl_touch.cancel
void (*wl_cancel)(struct wlr_seat_touch_grab *grab,
struct wlr_seat_client *seat_client);
void (*clear_focus)(struct wlr_seat_touch_grab *grab, uint32_t time_msec,
struct wlr_touch_point *point);
};
/**
@ -685,6 +687,8 @@ void wlr_seat_touch_notify_cancel(struct wlr_seat *seat,
struct wlr_seat_client *seat_client);
void wlr_seat_touch_notify_frame(struct wlr_seat *seat);
void wlr_seat_touch_notify_clear_focus(struct wlr_seat *seat,
uint32_t time_msec, int32_t touch_id);
/**
* How many touch points are currently down for the seat.