From: Anthony Liguori <anthony@codemonkey.ws>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 7/9] spice: add mouse
Date: Thu, 19 Aug 2010 09:25:46 -0500 [thread overview]
Message-ID: <4C6D3EEA.4020201@codemonkey.ws> (raw)
In-Reply-To: <1282221625-29501-8-git-send-email-kraxel@redhat.com>
On 08/19/2010 07:40 AM, Gerd Hoffmann wrote:
> Open mouse channel. Now you can move the guests mouse pointer.
> No tablet / absolute positioning (yet) though.
>
> Signed-off-by: Gerd Hoffmann<kraxel@redhat.com>
> ---
> spice-input.c | 31 +++++++++++++++++++++++++++++++
> 1 files changed, 31 insertions(+), 0 deletions(-)
>
> diff --git a/spice-input.c b/spice-input.c
> index e1014d7..8f3deb4 100644
> --- a/spice-input.c
> +++ b/spice-input.c
> @@ -46,12 +46,43 @@ static void kbd_leds(void *opaque, int ledstate)
> spice_server_kbd_leds(&kbd->sin, ledstate);
> }
>
> +/* mouse bits */
> +
> +typedef struct QemuSpiceMouse {
> + SpiceMouseInstance sin;
> +} QemuSpiceMouse;
> +
> +static void mouse_motion(SpiceMouseInstance *sin, int dx, int dy, int dz,
> + uint32_t buttons_state)
> +{
> + kbd_mouse_event(dx, dy, dz, buttons_state);
>
dz is an odd interface. We use it to represent additional buttons which
really makes no sense. If you still can, I'd suggest moving dz into
buttons_state.
Previous comment still applies though, you should explicitly convert the
button_states from QEMU format to Spice format to future proof.
Regards,
Anthony Liguori
> +}
> +
> +static void mouse_buttons(SpiceMouseInstance *sin, uint32_t buttons_state)
> +{
> + kbd_mouse_event(0, 0, 0, buttons_state);
> +}
> +
> +static const SpiceMouseInterface mouse_interface = {
> + .base.type = SPICE_INTERFACE_MOUSE,
> + .base.description = "mouse",
> + .base.major_version = SPICE_INTERFACE_MOUSE_MAJOR,
> + .base.minor_version = SPICE_INTERFACE_MOUSE_MINOR,
> + .motion = mouse_motion,
> + .buttons = mouse_buttons,
> +};
> +
> void qemu_spice_input_init(void)
> {
> QemuSpiceKbd *kbd;
> + QemuSpiceMouse *mouse;
>
> kbd = qemu_mallocz(sizeof(*kbd));
> kbd->sin.base.sif =&kbd_interface.base;
> spice_server_add_interface(spice_server,&kbd->sin.base);
> qemu_add_led_event_handler(kbd_leds, kbd);
> +
> + mouse = qemu_mallocz(sizeof(*mouse));
> + mouse->sin.base.sif =&mouse_interface.base;
> + spice_server_add_interface(spice_server,&mouse->sin.base);
> }
>
next prev parent reply other threads:[~2010-08-19 14:40 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-19 12:40 [Qemu-devel] [PATCH 0/9] initial spice support Gerd Hoffmann
2010-08-19 12:40 ` [Qemu-devel] [PATCH 1/9] add pflib: PixelFormat conversion library Gerd Hoffmann
2010-08-19 14:04 ` Anthony Liguori
2010-08-19 15:34 ` Gerd Hoffmann
2010-08-19 19:09 ` Anthony Liguori
2010-08-20 10:38 ` Gerd Hoffmann
2010-08-19 12:40 ` [Qemu-devel] [PATCH 2/9] configure: add logging Gerd Hoffmann
2010-08-19 14:05 ` Anthony Liguori
2010-08-19 15:44 ` Gerd Hoffmann
2010-08-19 12:40 ` [Qemu-devel] [PATCH 3/9] add spice into the configure file Gerd Hoffmann
2010-08-19 14:06 ` Anthony Liguori
2010-08-19 12:40 ` [Qemu-devel] [PATCH 4/9] configure: require spice 0.5.3 Gerd Hoffmann
2010-08-19 12:40 ` [Qemu-devel] [PATCH 5/9] spice: core bits Gerd Hoffmann
2010-08-19 14:19 ` Anthony Liguori
2010-08-20 11:54 ` Gerd Hoffmann
2010-08-25 12:37 ` Gerd Hoffmann
2010-08-19 12:40 ` [Qemu-devel] [PATCH 6/9] spice: add keyboard Gerd Hoffmann
2010-08-19 14:24 ` Anthony Liguori
2010-08-20 12:34 ` Gerd Hoffmann
2010-08-20 13:18 ` Anthony Liguori
2010-08-20 13:56 ` Gerd Hoffmann
2010-08-20 14:15 ` Daniel P. Berrange
2010-08-20 14:49 ` Gerd Hoffmann
2010-08-20 15:01 ` Daniel P. Berrange
2010-08-19 12:40 ` [Qemu-devel] [PATCH 7/9] spice: add mouse Gerd Hoffmann
2010-08-19 14:25 ` Anthony Liguori [this message]
2010-08-20 12:42 ` Gerd Hoffmann
2010-08-20 13:19 ` Anthony Liguori
2010-08-20 14:03 ` Gerd Hoffmann
2010-08-20 14:37 ` Anthony Liguori
2010-08-19 12:40 ` [Qemu-devel] [PATCH 8/9] spice: simple display Gerd Hoffmann
2010-08-19 14:39 ` Anthony Liguori
2010-08-19 15:23 ` malc
2010-08-19 15:34 ` Anthony Liguori
2010-08-19 15:36 ` malc
2010-08-19 19:03 ` Anthony Liguori
2010-08-19 19:10 ` malc
2010-08-19 15:40 ` Alexander Graf
2010-08-25 11:09 ` Gerd Hoffmann
2010-08-19 16:05 ` Gerd Hoffmann
2010-08-19 19:00 ` Anthony Liguori
2010-08-19 12:40 ` [Qemu-devel] [PATCH 9/9] spice: add tablet support Gerd Hoffmann
2010-08-19 14:40 ` Anthony Liguori
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C6D3EEA.4020201@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.