This library provides a "Mouse, Keyboard, and Screen" to QEMU using the D-Bus device support in QEMU and GTK 4.
Go to file
Christian Hergert d0909732f4 lib: add MksDisplayPicture
This is a child widget to the MksDisplay which contains just the paintable
region of the remote screen. Doing so allows us to avoid having to handle
crossing events carefully for things like cursors.

Instead, now the MksDisplay calculates the area for the picture and
allocates it there. The MksDisplayPicture will always snapshot the
paintable using the full area it has been allocated.

Event processing can also largely move into the Picture widget which
simplifies bounds checking.
2023-02-17 11:40:47 -08:00
lib lib: add MksDisplayPicture 2023-02-17 11:40:47 -08:00
tools lib: start on MksDisplay widget 2023-02-13 21:53:57 -08:00
.editorconfig initial commit 2023-02-08 18:06:08 -08:00
COPYING initial commit 2023-02-08 18:06:08 -08:00
meson.build lib: add GdkDmabufPaintable 2023-02-14 16:27:09 -08:00
README.md README.md: Add example to test 2023-02-17 09:13:11 -08:00

libmks

This library provides a "Mouse, Keyboard, and Screen" to Qemu using the D-Bus device support in Qemu and GTK 4.

Testing

By default, Qemu will connect to your user session D-Bus if you do not provide an address for -display dbus. Therefore, it is pretty easy to test things by running Qemu manually and then connecting with the test program ./tools/mks.

qemu-img create -f qcow2 fedora.img 30G
qemu-system-x86_64 \
    -enable-kvm \
    -cpu host
    -device virtio-vga-gl,xres=1920,yres=1080 \
    -m 8G \
    -smp 4 \
    -display dbus,gl=on \
    -cdrom Fedora-Workstation.iso \
    -hda fedora.img \
    -boot d

and then to run the test widget

meson setup build
cd build
ninja
./tools/mks