aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/wayland/wl_seat.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/backend/wayland/wl_seat.c b/backend/wayland/wl_seat.c
index 7efa6eb4..1229a0ac 100644
--- a/backend/wayland/wl_seat.c
+++ b/backend/wayland/wl_seat.c
@@ -149,7 +149,21 @@ static void pointer_handle_axis_source(void *data,
static void pointer_handle_axis_stop(void *data, struct wl_pointer *wl_pointer,
uint32_t time, uint32_t axis) {
- // This space is intentionally left blank
+ struct wlr_wl_backend *backend = data;
+ struct wlr_wl_pointer *pointer = backend->current_pointer;
+ if (pointer == NULL) {
+ return;
+ }
+
+ struct wlr_event_pointer_axis event = {
+ .device = &pointer->input_device->wlr_input_device,
+ .delta = 0,
+ .delta_discrete = 0,
+ .orientation = axis,
+ .time_msec = time,
+ .source = pointer->axis_source,
+ };
+ wlr_signal_emit_safe(&pointer->wlr_pointer.events.axis, &event);
}
static void pointer_handle_axis_discrete(void *data,