mirror of
https://github.com/labwc/labwc.git
synced 2026-03-16 05:33:50 -04:00
input: add hold-begin/-end gestures
This commit is contained in:
parent
7195d7793c
commit
8a5608a3af
2 changed files with 32 additions and 0 deletions
|
|
@ -179,6 +179,8 @@ struct seat {
|
||||||
struct wl_listener swipe_begin;
|
struct wl_listener swipe_begin;
|
||||||
struct wl_listener swipe_update;
|
struct wl_listener swipe_update;
|
||||||
struct wl_listener swipe_end;
|
struct wl_listener swipe_end;
|
||||||
|
struct wl_listener hold_begin;
|
||||||
|
struct wl_listener hold_end;
|
||||||
|
|
||||||
struct wl_listener request_cursor;
|
struct wl_listener request_cursor;
|
||||||
struct wl_listener request_set_shape;
|
struct wl_listener request_set_shape;
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,32 @@ handle_swipe_end(struct wl_listener *listener, void *data)
|
||||||
seat->seat, event->time_msec, event->cancelled);
|
seat->seat, event->time_msec, event->cancelled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
handle_hold_begin(struct wl_listener *listener, void *data)
|
||||||
|
{
|
||||||
|
struct seat *seat = wl_container_of(listener, seat, hold_begin);
|
||||||
|
struct wlr_pointer_hold_begin_event *event = data;
|
||||||
|
|
||||||
|
idle_manager_notify_activity(seat->seat);
|
||||||
|
cursor_set_visible(seat, /* visible */ true);
|
||||||
|
|
||||||
|
wlr_pointer_gestures_v1_send_hold_begin(seat->pointer_gestures,
|
||||||
|
seat->seat, event->time_msec, event->fingers);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
handle_hold_end(struct wl_listener *listener, void *data)
|
||||||
|
{
|
||||||
|
struct seat *seat = wl_container_of(listener, seat, hold_end);
|
||||||
|
struct wlr_pointer_hold_end_event *event = data;
|
||||||
|
|
||||||
|
idle_manager_notify_activity(seat->seat);
|
||||||
|
cursor_set_visible(seat, /* visible */ true);
|
||||||
|
|
||||||
|
wlr_pointer_gestures_v1_send_hold_end(seat->pointer_gestures,
|
||||||
|
seat->seat, event->time_msec, event->cancelled);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gestures_init(struct seat *seat)
|
gestures_init(struct seat *seat)
|
||||||
{
|
{
|
||||||
|
|
@ -95,6 +121,8 @@ gestures_init(struct seat *seat)
|
||||||
CONNECT_SIGNAL(seat->cursor, seat, swipe_begin);
|
CONNECT_SIGNAL(seat->cursor, seat, swipe_begin);
|
||||||
CONNECT_SIGNAL(seat->cursor, seat, swipe_update);
|
CONNECT_SIGNAL(seat->cursor, seat, swipe_update);
|
||||||
CONNECT_SIGNAL(seat->cursor, seat, swipe_end);
|
CONNECT_SIGNAL(seat->cursor, seat, swipe_end);
|
||||||
|
CONNECT_SIGNAL(seat->cursor, seat, hold_begin);
|
||||||
|
CONNECT_SIGNAL(seat->cursor, seat, hold_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -106,4 +134,6 @@ gestures_finish(struct seat *seat)
|
||||||
wl_list_remove(&seat->swipe_begin.link);
|
wl_list_remove(&seat->swipe_begin.link);
|
||||||
wl_list_remove(&seat->swipe_update.link);
|
wl_list_remove(&seat->swipe_update.link);
|
||||||
wl_list_remove(&seat->swipe_end.link);
|
wl_list_remove(&seat->swipe_end.link);
|
||||||
|
wl_list_remove(&seat->hold_begin.link);
|
||||||
|
wl_list_remove(&seat->hold_end.link);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue