diff options
author | emersion <contact@emersion.fr> | 2018-05-29 18:22:44 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-29 18:22:44 +0100 |
commit | e1f56538a8862f05cc9ad1d44cd47bc6ed5e6387 (patch) | |
tree | 49d378a4cd90cde1aabc5d6d3ccbefde16126997 /rootston/virtual_keyboard.c | |
parent | 3444f43c16e49ad64fa6f1f11be7baf16b3bf49c (diff) | |
parent | 5334ee8bfd93b2bfdc077f422b87c2509f04d5d4 (diff) |
Merge pull request #999 from dcz-purism/virtual-keyboard
Support virtual keyboard protocol
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); +} |