diff --git a/include/wlr/types/wlr_pointer.h b/include/wlr/types/wlr_pointer.h index 1380fa76..bcfb2ad3 100644 --- a/include/wlr/types/wlr_pointer.h +++ b/include/wlr/types/wlr_pointer.h @@ -33,6 +33,9 @@ struct wlr_pointer { struct wl_signal pinch_begin; // struct wlr_event_pointer_pinch_begin struct wl_signal pinch_update; // struct wlr_event_pointer_pinch_update struct wl_signal pinch_end; // struct wlr_event_pointer_pinch_end + + struct wl_signal hold_begin; // struct wlr_event_pointer_hold_begin + struct wl_signal hold_end; // struct wlr_event_pointer_hold_end } events; void *data; @@ -126,4 +129,16 @@ struct wlr_event_pointer_pinch_end { bool cancelled; }; +struct wlr_event_pointer_hold_begin { + struct wlr_input_device *device; + uint32_t time_msec; + uint32_t fingers; +}; + +struct wlr_event_pointer_hold_end { + struct wlr_input_device *device; + uint32_t time_msec; + bool cancelled; +}; + #endif diff --git a/types/wlr_pointer.c b/types/wlr_pointer.c index d18fe754..a6590e73 100644 --- a/types/wlr_pointer.c +++ b/types/wlr_pointer.c @@ -18,6 +18,8 @@ void wlr_pointer_init(struct wlr_pointer *pointer, wl_signal_init(&pointer->events.pinch_begin); wl_signal_init(&pointer->events.pinch_update); wl_signal_init(&pointer->events.pinch_end); + wl_signal_init(&pointer->events.hold_begin); + wl_signal_init(&pointer->events.hold_end); } void wlr_pointer_destroy(struct wlr_pointer *pointer) {