Commit Graph

5 Commits

Author SHA1 Message Date
Christian Hergert
7c63e051fd lib: use legacy event controller
Now that we are doing our own paintable management, we can more easily
transition to doing our own event management with the Legacy event
controller (which, despite the name, really just allows us to get more
direct GdkEvent for processing).

Additionally, this adds support for scroll events to the guest.
2023-02-15 10:38:24 -08:00
Christian Hergert
a8505e1245 lib: remove use of GtkPicture
We want a bit more control over things than we can get with GtkPicture so
do the snapshot/measure internally. This allows us to know where the
picture is to be allocated so that we can translate pointer events to the
location within the console.
2023-02-15 06:47:10 -08:00
Christian Hergert
6c5829d949 lib: make clicks and motion work
We need to handle a mouse that is not absolute positioned (the default it
seems) and this does that (crudely for the moment until we have some sort
of grab management).

Additionally, click events are propagated to the Qemu instance as well.
2023-02-14 14:19:12 -08:00
Christian Hergert
beb7299d25 lib: add basic input controllers to MksDisplay
Still plenty to do on the motion bits, but at least basic key controller
events propagate now.
2023-02-14 13:34:45 -08:00
Christian Hergert
6beaf8b925 lib: encapsulate GtkPicture within MksDisplay
We don't need to do this manually now that we have GtkPicture working
correctly with content-fit. We still want to maintain our own widget to
manage things like grabs and all that though.
2023-02-14 11:18:48 -08:00