This allows to receive mouse and keyboard events from a Barrier server. This is enabled by adding the following parameter on the command line ... -object input-barrier,id=$id,name=$name ... Where $name is the name declared in the screens section of barrier.conf The barrier server (barriers) must be configured and must run on the local host. For instance: section: screens localhost: ... VM-1: ... end section: links localhost: right = VM-1 VM-1: left = localhost end Then on the QEMU command line: ... -object input-barrier,id=barrie0,name=VM-1 ... When the mouse will move out of the screen of the local host on the right, the mouse and the keyboard will be grabbed and all related events will be send to the guest OS. This is usefull when qemu is configured without emulated graphic card but with a VFIO attached graphic card. More information about Barrier can be found at: https://github.com/debauchee/barrier This avoids to install the Barrier server in the guest OS, for instance when it is not supported or during the installation. Signed-off-by: Laurent Vivier <laurent@vivier.eu> Message-id: 20190906083812.29487-1-laurent@vivier.eu Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
71 lines
2.1 KiB
Makefile
71 lines
2.1 KiB
Makefile
vnc-obj-y += vnc.o
|
|
vnc-obj-y += vnc-enc-zlib.o vnc-enc-hextile.o
|
|
vnc-obj-y += vnc-enc-tight.o vnc-palette.o
|
|
vnc-obj-y += vnc-enc-zrle.o
|
|
vnc-obj-y += vnc-auth-vencrypt.o
|
|
vnc-obj-$(CONFIG_VNC_SASL) += vnc-auth-sasl.o
|
|
vnc-obj-y += vnc-ws.o
|
|
vnc-obj-y += vnc-jobs.o
|
|
|
|
common-obj-y += keymaps.o console.o cursor.o qemu-pixman.o
|
|
common-obj-y += input.o input-keymap.o input-legacy.o kbd-state.o
|
|
common-obj-y += input-barrier.o
|
|
common-obj-$(CONFIG_LINUX) += input-linux.o
|
|
common-obj-$(CONFIG_SPICE) += spice-core.o spice-input.o spice-display.o
|
|
common-obj-$(CONFIG_COCOA) += cocoa.o
|
|
common-obj-$(CONFIG_VNC) += $(vnc-obj-y)
|
|
common-obj-$(call lnot,$(CONFIG_VNC)) += vnc-stubs.o
|
|
|
|
# ui-sdl module
|
|
common-obj-$(CONFIG_SDL) += sdl.mo
|
|
sdl.mo-objs := sdl2.o sdl2-input.o sdl2-2d.o
|
|
ifeq ($(CONFIG_OPENGL),y)
|
|
sdl.mo-objs += sdl2-gl.o
|
|
endif
|
|
sdl.mo-cflags := $(SDL_CFLAGS)
|
|
sdl.mo-libs := $(SDL_LIBS)
|
|
|
|
# ui-gtk module
|
|
common-obj-$(CONFIG_GTK) += gtk.mo
|
|
gtk.mo-objs := gtk.o
|
|
gtk.mo-cflags := $(GTK_CFLAGS) $(VTE_CFLAGS)
|
|
gtk.mo-libs := $(GTK_LIBS) $(VTE_LIBS)
|
|
ifeq ($(CONFIG_OPENGL),y)
|
|
gtk.mo-objs += gtk-egl.o
|
|
gtk.mo-libs += $(OPENGL_LIBS)
|
|
ifeq ($(CONFIG_GTK_GL),y)
|
|
gtk.mo-objs += gtk-gl-area.o
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CONFIG_X11),y)
|
|
sdl.mo-objs += x_keymap.o
|
|
gtk.mo-objs += x_keymap.o
|
|
x_keymap.o-cflags := $(X11_CFLAGS)
|
|
x_keymap.o-libs := $(X11_LIBS)
|
|
endif
|
|
|
|
common-obj-$(CONFIG_CURSES) += curses.mo
|
|
curses.mo-objs := curses.o
|
|
curses.mo-cflags := $(CURSES_CFLAGS) $(ICONV_CFLAGS)
|
|
curses.mo-libs := $(CURSES_LIBS) $(ICONV_LIBS)
|
|
|
|
ifeq ($(CONFIG_GIO)$(CONFIG_SPICE),yy)
|
|
common-obj-$(if $(CONFIG_MODULES),m,y) += spice-app.mo
|
|
endif
|
|
spice-app.mo-objs := spice-app.o
|
|
spice-app.mo-cflags := $(GIO_CFLAGS)
|
|
spice-app.mo-libs := $(GIO_LIBS)
|
|
|
|
common-obj-$(CONFIG_OPENGL) += shader.o
|
|
common-obj-$(CONFIG_OPENGL) += console-gl.o
|
|
common-obj-$(CONFIG_OPENGL) += egl-helpers.o
|
|
common-obj-$(CONFIG_OPENGL) += egl-context.o
|
|
common-obj-$(CONFIG_OPENGL_DMABUF) += egl-headless.o
|
|
|
|
shader.o-libs += $(OPENGL_LIBS)
|
|
console-gl.o-libs += $(OPENGL_LIBS)
|
|
egl-helpers.o-libs += $(OPENGL_LIBS)
|
|
egl-context.o-libs += $(OPENGL_LIBS)
|
|
egl-headless.o-libs += $(OPENGL_LIBS)
|