mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-03-17 05:34:14 -04:00
virtual-keyboard: add wlr_virtual_keyboard_v1_from_resource()
I want to use the zwp_virtual_keyboard_v1 object in a custom river protocol and need to be able to obtain the corresponding wlroots struct.
This commit is contained in:
parent
1fc928d528
commit
ec746d3e3e
2 changed files with 16 additions and 5 deletions
|
|
@ -38,7 +38,18 @@ 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);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the struct wlr_virtual_keyboard_v1 corresponding to a zwp_virtual_keyboard_v1 resource.
|
||||||
|
*
|
||||||
|
* Asserts that the resource is a valid zwp_virtual_keyboard_v1 resource created by wlroots.
|
||||||
|
*
|
||||||
|
* Returns NULL if the resource is inert.
|
||||||
|
*/
|
||||||
|
struct wlr_virtual_keyboard_v1 *wlr_virtual_keyboard_v1_from_resource(
|
||||||
|
struct wl_resource *resource);
|
||||||
|
|
||||||
struct wlr_virtual_keyboard_v1 *wlr_input_device_get_virtual_keyboard(
|
struct wlr_virtual_keyboard_v1 *wlr_input_device_get_virtual_keyboard(
|
||||||
struct wlr_input_device *wlr_dev);
|
struct wlr_input_device *wlr_dev);
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ static const struct wlr_keyboard_impl keyboard_impl = {
|
||||||
|
|
||||||
static const struct zwp_virtual_keyboard_v1_interface virtual_keyboard_impl;
|
static const struct zwp_virtual_keyboard_v1_interface virtual_keyboard_impl;
|
||||||
|
|
||||||
static struct wlr_virtual_keyboard_v1 *virtual_keyboard_from_resource(
|
struct wlr_virtual_keyboard_v1 *wlr_virtual_keyboard_v1_from_resource(
|
||||||
struct wl_resource *resource) {
|
struct wl_resource *resource) {
|
||||||
assert(wl_resource_instance_of(resource,
|
assert(wl_resource_instance_of(resource,
|
||||||
&zwp_virtual_keyboard_v1_interface, &virtual_keyboard_impl));
|
&zwp_virtual_keyboard_v1_interface, &virtual_keyboard_impl));
|
||||||
|
|
@ -39,7 +39,7 @@ 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) {
|
||||||
struct wlr_virtual_keyboard_v1 *keyboard =
|
struct wlr_virtual_keyboard_v1 *keyboard =
|
||||||
virtual_keyboard_from_resource(resource);
|
wlr_virtual_keyboard_v1_from_resource(resource);
|
||||||
if (keyboard == NULL) {
|
if (keyboard == NULL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -76,7 +76,7 @@ static void virtual_keyboard_key(struct wl_client *client,
|
||||||
struct wl_resource *resource, uint32_t time, uint32_t key,
|
struct wl_resource *resource, uint32_t time, uint32_t key,
|
||||||
uint32_t state) {
|
uint32_t state) {
|
||||||
struct wlr_virtual_keyboard_v1 *keyboard =
|
struct wlr_virtual_keyboard_v1 *keyboard =
|
||||||
virtual_keyboard_from_resource(resource);
|
wlr_virtual_keyboard_v1_from_resource(resource);
|
||||||
if (keyboard == NULL) {
|
if (keyboard == NULL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -99,7 +99,7 @@ static void virtual_keyboard_modifiers(struct wl_client *client,
|
||||||
struct wl_resource *resource, uint32_t mods_depressed,
|
struct wl_resource *resource, uint32_t mods_depressed,
|
||||||
uint32_t mods_latched, uint32_t mods_locked, uint32_t group) {
|
uint32_t mods_latched, uint32_t mods_locked, uint32_t group) {
|
||||||
struct wlr_virtual_keyboard_v1 *keyboard =
|
struct wlr_virtual_keyboard_v1 *keyboard =
|
||||||
virtual_keyboard_from_resource(resource);
|
wlr_virtual_keyboard_v1_from_resource(resource);
|
||||||
if (keyboard == NULL) {
|
if (keyboard == NULL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -115,7 +115,7 @@ static void virtual_keyboard_modifiers(struct wl_client *client,
|
||||||
|
|
||||||
static void virtual_keyboard_destroy_resource(struct wl_resource *resource) {
|
static void virtual_keyboard_destroy_resource(struct wl_resource *resource) {
|
||||||
struct wlr_virtual_keyboard_v1 *keyboard =
|
struct wlr_virtual_keyboard_v1 *keyboard =
|
||||||
virtual_keyboard_from_resource(resource);
|
wlr_virtual_keyboard_v1_from_resource(resource);
|
||||||
if (keyboard == NULL) {
|
if (keyboard == NULL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue