virtual-keyboard: add wlr_input_device_get_virtual_keyboard

This commit is contained in:
xdavidwu 2020-07-08 10:46:28 +02:00 committed by Simon Ser
parent b6377b59ff
commit 61e2ebac90
2 changed files with 12 additions and 1 deletions

View file

@ -26,8 +26,8 @@ struct wlr_virtual_keyboard_manager_v1 {
}; };
struct wlr_virtual_keyboard_v1 { struct wlr_virtual_keyboard_v1 {
struct wl_resource *resource;
struct wlr_input_device input_device; struct wlr_input_device input_device;
struct wl_resource *resource;
struct wlr_seat *seat; struct wlr_seat *seat;
bool has_keymap; bool has_keymap;
@ -41,4 +41,7 @@ struct wlr_virtual_keyboard_v1 {
struct wlr_virtual_keyboard_manager_v1* wlr_virtual_keyboard_manager_v1_create( struct wlr_virtual_keyboard_manager_v1* wlr_virtual_keyboard_manager_v1_create(
struct wl_display *display); struct wl_display *display);
struct wlr_virtual_keyboard_v1 *wlr_input_device_get_virtual_keyboard(
struct wlr_input_device *wlr_dev);
#endif #endif

View file

@ -40,6 +40,14 @@ static struct wlr_virtual_keyboard_v1 *virtual_keyboard_from_resource(
return wl_resource_get_user_data(resource); return wl_resource_get_user_data(resource);
} }
struct wlr_virtual_keyboard_v1 *wlr_input_device_get_virtual_keyboard(
struct wlr_input_device *wlr_dev) {
if (wlr_dev->impl != &input_device_impl) {
return NULL;
}
return (struct wlr_virtual_keyboard_v1 *)wlr_dev;
}
static void virtual_keyboard_keymap(struct wl_client *client, static void virtual_keyboard_keymap(struct wl_client *client,
struct wl_resource *resource, uint32_t format, int32_t fd, struct wl_resource *resource, uint32_t format, int32_t fd,
uint32_t size) { uint32_t size) {