xwayland: Bind pointer constraints global
Will be used by the pointer warp emulator. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
c14a8c6cc0
commit
ca7b593fbe
|
@ -1,5 +1,7 @@
|
||||||
Xwayland
|
Xwayland
|
||||||
drm-client-protocol.h
|
drm-client-protocol.h
|
||||||
drm-protocol.c
|
drm-protocol.c
|
||||||
|
pointer-constraints-unstable-v1-client-protocol.h
|
||||||
|
pointer-constraints-unstable-v1-protocol.c
|
||||||
relative-pointer-unstable-v1-client-protocol.h
|
relative-pointer-unstable-v1-client-protocol.h
|
||||||
relative-pointer-unstable-v1-protocol.c
|
relative-pointer-unstable-v1-protocol.c
|
||||||
|
|
|
@ -54,7 +54,9 @@ endif
|
||||||
|
|
||||||
Xwayland_built_sources += \
|
Xwayland_built_sources += \
|
||||||
relative-pointer-unstable-v1-client-protocol.h \
|
relative-pointer-unstable-v1-client-protocol.h \
|
||||||
relative-pointer-unstable-v1-protocol.c
|
relative-pointer-unstable-v1-protocol.c \
|
||||||
|
pointer-constraints-unstable-v1-client-protocol.h \
|
||||||
|
pointer-constraints-unstable-v1-protocol.c
|
||||||
|
|
||||||
nodist_Xwayland_SOURCES = $(Xwayland_built_sources)
|
nodist_Xwayland_SOURCES = $(Xwayland_built_sources)
|
||||||
CLEANFILES = $(Xwayland_built_sources)
|
CLEANFILES = $(Xwayland_built_sources)
|
||||||
|
@ -72,6 +74,11 @@ relative-pointer-unstable-v1-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/
|
||||||
relative-pointer-unstable-v1-client-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/relative-pointer/relative-pointer-unstable-v1.xml
|
relative-pointer-unstable-v1-client-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/relative-pointer/relative-pointer-unstable-v1.xml
|
||||||
$(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@
|
$(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@
|
||||||
|
|
||||||
|
pointer-constraints-unstable-v1-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml
|
||||||
|
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
|
||||||
|
pointer-constraints-unstable-v1-client-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml
|
||||||
|
$(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@
|
||||||
|
|
||||||
%-protocol.c : %.xml
|
%-protocol.c : %.xml
|
||||||
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
|
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
|
||||||
|
|
||||||
|
|
|
@ -1142,6 +1142,16 @@ init_relative_pointer_manager(struct xwl_screen *xwl_screen,
|
||||||
1);
|
1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
init_pointer_constraints(struct xwl_screen *xwl_screen,
|
||||||
|
uint32_t id, uint32_t version)
|
||||||
|
{
|
||||||
|
xwl_screen->pointer_constraints =
|
||||||
|
wl_registry_bind(xwl_screen->registry, id,
|
||||||
|
&zwp_pointer_constraints_v1_interface,
|
||||||
|
1);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
input_handler(void *data, struct wl_registry *registry, uint32_t id,
|
input_handler(void *data, struct wl_registry *registry, uint32_t id,
|
||||||
const char *interface, uint32_t version)
|
const char *interface, uint32_t version)
|
||||||
|
@ -1153,6 +1163,8 @@ input_handler(void *data, struct wl_registry *registry, uint32_t id,
|
||||||
xwl_screen->expecting_event++;
|
xwl_screen->expecting_event++;
|
||||||
} else if (strcmp(interface, "zwp_relative_pointer_manager_v1") == 0) {
|
} else if (strcmp(interface, "zwp_relative_pointer_manager_v1") == 0) {
|
||||||
init_relative_pointer_manager(xwl_screen, id, version);
|
init_relative_pointer_manager(xwl_screen, id, version);
|
||||||
|
} else if (strcmp(interface, "zwp_pointer_constraints_v1") == 0) {
|
||||||
|
init_pointer_constraints(xwl_screen, id, version);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,7 @@
|
||||||
#include <exevents.h>
|
#include <exevents.h>
|
||||||
|
|
||||||
#include "relative-pointer-unstable-v1-client-protocol.h"
|
#include "relative-pointer-unstable-v1-client-protocol.h"
|
||||||
|
#include "pointer-constraints-unstable-v1-client-protocol.h"
|
||||||
|
|
||||||
struct xwl_screen {
|
struct xwl_screen {
|
||||||
int width;
|
int width;
|
||||||
|
@ -78,6 +79,7 @@ struct xwl_screen {
|
||||||
struct wl_shm *shm;
|
struct wl_shm *shm;
|
||||||
struct wl_shell *shell;
|
struct wl_shell *shell;
|
||||||
struct zwp_relative_pointer_manager_v1 *relative_pointer_manager;
|
struct zwp_relative_pointer_manager_v1 *relative_pointer_manager;
|
||||||
|
struct zwp_pointer_constraints_v1 *pointer_constraints;
|
||||||
|
|
||||||
uint32_t serial;
|
uint32_t serial;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue