diff options
Diffstat (limited to 'rootston/virtual_keyboard.c')
-rw-r--r-- | rootston/virtual_keyboard.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/rootston/virtual_keyboard.c b/rootston/virtual_keyboard.c new file mode 100644 index 00000000..db47efca --- /dev/null +++ b/rootston/virtual_keyboard.c @@ -0,0 +1,21 @@ +#define _POSIX_C_SOURCE 199309L + +#include <wlr/util/log.h> +#include <wlr/types/wlr_virtual_keyboard_v1.h> +#include "rootston/virtual_keyboard.h" +#include "rootston/seat.h" + +void handle_virtual_keyboard(struct wl_listener *listener, void *data) { + struct roots_desktop *desktop = + wl_container_of(listener, desktop, virtual_keyboard_new); + struct wlr_virtual_keyboard_v1 *keyboard = data; + + struct roots_seat *seat = input_seat_from_wlr_seat(desktop->server->input, + keyboard->seat); + if (!seat) { + wlr_log(L_ERROR, "could not find roots seat"); + return; + } + + roots_seat_add_device(seat, &keyboard->input_device); +} |