diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/rootston/desktop.h | 3 | ||||
| -rw-r--r-- | include/rootston/virtual_keyboard.h | 7 | ||||
| -rw-r--r-- | include/wlr/types/wlr_virtual_keyboard_v1.h | 37 | 
3 files changed, 47 insertions, 0 deletions
| diff --git a/include/rootston/desktop.h b/include/rootston/desktop.h index 83ff2ea8..bb7d2084 100644 --- a/include/rootston/desktop.h +++ b/include/rootston/desktop.h @@ -14,6 +14,7 @@  #include <wlr/types/wlr_output.h>  #include <wlr/types/wlr_primary_selection.h>  #include <wlr/types/wlr_screenshooter.h> +#include <wlr/types/wlr_virtual_keyboard_v1.h>  #include <wlr/types/wlr_wl_shell.h>  #include <wlr/types/wlr_xcursor_manager.h>  #include <wlr/types/wlr_xdg_shell_v6.h> @@ -51,6 +52,7 @@ struct roots_desktop {  	struct wlr_input_inhibit_manager *input_inhibit;  	struct wlr_linux_dmabuf *linux_dmabuf;  	struct wlr_layer_shell *layer_shell; +	struct wlr_virtual_keyboard_manager_v1 *virtual_keyboard;  	struct wl_listener new_output;  	struct wl_listener layout_change; @@ -61,6 +63,7 @@ struct roots_desktop {  	struct wl_listener decoration_new;  	struct wl_listener input_inhibit_activate;  	struct wl_listener input_inhibit_deactivate; +	struct wl_listener virtual_keyboard_new;  #ifdef WLR_HAS_XWAYLAND  	struct wlr_xwayland *xwayland; diff --git a/include/rootston/virtual_keyboard.h b/include/rootston/virtual_keyboard.h new file mode 100644 index 00000000..613e5595 --- /dev/null +++ b/include/rootston/virtual_keyboard.h @@ -0,0 +1,7 @@ +#ifndef ROOTSTON_VIRTUAL_KEYBOARD_H +#define ROOTSTON_VIRTUAL_KEYBOARD_H + +#include <wayland-server-core.h> + +void handle_virtual_keyboard(struct wl_listener *listener, void *data); +#endif diff --git a/include/wlr/types/wlr_virtual_keyboard_v1.h b/include/wlr/types/wlr_virtual_keyboard_v1.h new file mode 100644 index 00000000..1236ae24 --- /dev/null +++ b/include/wlr/types/wlr_virtual_keyboard_v1.h @@ -0,0 +1,37 @@ +#ifndef WLR_TYPES_WLR_VIRTUAL_KEYBOARD_V1_H +#define WLR_TYPES_WLR_VIRTUAL_KEYBOARD_V1_H + +#include <wayland-server.h> +#include <wlr/interfaces/wlr_input_device.h> +#include <wlr/interfaces/wlr_keyboard.h> + +struct wlr_virtual_keyboard_manager_v1 { +	struct wl_global *global; +	struct wl_list resources; // struct wl_resource* +	struct wl_list virtual_keyboards; // struct wlr_virtual_keyboard_v1* + +	struct wl_listener display_destroy; + +	struct { +		struct wl_signal new_virtual_keyboard; // struct wlr_virtual_keyboard_v1* +	} events; +}; + +struct wlr_virtual_keyboard_v1 { +	struct wl_resource *resource; +	struct wlr_input_device input_device; +	struct wlr_seat *seat; + +	struct wl_list link; + +	struct { +		struct wl_signal destroy; // struct wlr_virtual_keyboard_v1* +	} events; +}; + +struct wlr_virtual_keyboard_manager_v1* wlr_virtual_keyboard_manager_v1_create( +	struct wl_display *display); +void wlr_virtual_keyboard_manager_v1_destroy( +	struct wlr_virtual_keyboard_manager_v1 *manager); + +#endif | 
