diff options
Diffstat (limited to 'seat.c')
| -rw-r--r-- | seat.c | 20 |
1 files changed, 10 insertions, 10 deletions
@@ -1,23 +1,23 @@ #include "state.h" -#include <cursor-shape-v1.h> -extern struct wl_pointer_listener pointer_listener; -extern struct wl_keyboard_listener keyboard_listener; +#include "wayland.h" + +struct wl_seat_listener seat_listener; + +void setup_seat(client_state* state, uint32_t name) { + state->seat = wl_registry_bind(state->registry, name, &wl_seat_interface, 1); + wl_seat_add_listener(state->seat, &seat_listener, state); +} void capabilities(void *data, struct wl_seat *wl_seat, uint32_t capabilities) { client_state* state = data; if (capabilities & WL_SEAT_CAPABILITY_KEYBOARD && !state->keyboard) { - state->keyboard = wl_seat_get_keyboard(wl_seat); - wl_keyboard_add_listener(state->keyboard, &keyboard_listener, state); + setup_keyboard(state); } if (capabilities & WL_SEAT_CAPABILITY_POINTER && !state->pointer) { - state->pointer = wl_seat_get_pointer(wl_seat); - state->cursor_shape_device = wp_cursor_shape_manager_v1_get_pointer( - state->cursor_shape_manager, state->pointer); - wl_pointer_add_listener(state->pointer, &pointer_listener, state); + setup_pointer(state); } - } void name(void *data, struct wl_seat *wl_seat, const char *name) { |
