From: Anthony Liguori <anthony@codemonkey.ws>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: spice-devel <spice-devel@lists.freedesktop.org>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] paravirtual mouse/tablet
Date: Thu, 13 Jan 2011 09:52:03 -0600 [thread overview]
Message-ID: <4D2F1FA3.5030701@codemonkey.ws> (raw)
In-Reply-To: <4D2ED1C8.7070304@redhat.com>
On 01/13/2011 04:19 AM, Gerd Hoffmann wrote:
> Hi,
>
> Just throwing a quick writeup into the ring to kickstart the design
> discussion ;)
>
> cheers,
> Gerd
> #ifndef __QEMU_PVTABLET__
> #define __QEMU_PVTABLET__ 1
>
> /*
> * qemu patavirtual tablet interface
> */
>
> #include<inttypes.h>
>
> /* our virtio-serial channel */
> #define QEMU_PVTABLET_NAME "org.qemu.pvtablet.0"
>
> enum qemu_pvtablet_buttons {
> QEMU_PVTABLET_BTN_LEFT,
> QEMU_PVTABLET_BTN_RIGHT,
> QEMU_PVTABLET_BTN_MIDDLE,
> /*
> * we can handle up to 32 buttons although
> * not every has a individual name;)
> */
> };
>
> /* send button down+up events */
> typedef struct qemu_pvtablet_button {
> uint32_t button;
> uint32_t mask;
> } qemu_pvtablet_button;
>
> /* send pointer move events */
> typedef struct qemu_pvtablet_position {
> uint32_t pos_x; /* range: 0 -> 0xffff */
> uint32_t pos_y; /* range: 0 -> 0xffff */
> } qemu_pvtablet_position;
>
>
Let's add feature negotiation and not hardcode the resolution.
typedef enum qemu_pvtablet_features {
/* None yet */
};
/* host->guest, sent before any other events */
typedef struct qemu_pvtablet_init {
uint32_t res_x; /* x axis resolution */
uint32_t res_y; /* y axis resolution */
uint32_t features; /* qemu_pvtablet_features */
} qemu_pvtablet_init;
/* guest->host, sent after pvtablet_init. host will not send additional
messages until this is received */
typedef struct qemu_pvtablet_ack {
uint32_t features; /* qemu_pvtable_features */
};
> enum qemu_pvtablet_type {
> QEMU_PVTABLET_MSG_MOVE, /* qemu_pvtablet_position */
> QEMU_PVTABLET_MSG_BTN_DOWN, /* qemu_pvtablet_button */
> QEMU_PVTABLET_MSG_BTN_UP, /* qemu_pvtablet_button */
>
QEMU_PVTABLET_MSG_INIT, /* qemu_pvtable_init */
QEMU_PVTABLE_MSG_ACK, /* qemu_pvtable_ack */
Regards,
Anthony Liguori
> };
>
> typedef struct qemu_pvtablet_message {
> uint32_t size; /* whole message size */
> uint32_t type; /* qemu_pvtablet_type */
> uint64_t tv_secs;
> uint64_t tv_usecs;
> union {
> qemu_pvtablet_position position;
> qemu_pvtablet_button button;
> qemu_pvtablet_display display;
> } m;
> } qemu_pvtablet_message;
>
> #endif /* __QEMU_PVTABLET__ */
>
next prev parent reply other threads:[~2011-01-13 15:53 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-13 10:19 [Qemu-devel] paravirtual mouse/tablet Gerd Hoffmann
2011-01-13 11:01 ` [Qemu-devel] Re: [Spice-devel] " Stefan Hajnoczi
2011-01-13 11:51 ` Gerd Hoffmann
2011-01-13 15:55 ` Anthony Liguori
2011-01-13 17:08 ` Gerd Hoffmann
2011-01-13 20:41 ` Anthony Liguori
2011-01-14 8:49 ` Gerd Hoffmann
2011-01-14 10:48 ` Daniel P. Berrange
2011-01-14 14:14 ` Anthony Liguori
2011-01-14 14:28 ` Alon Levy
2011-01-14 14:52 ` Daniel P. Berrange
2011-01-14 16:10 ` [Spice-devel] [Qemu-devel] " Alon Levy
2011-01-13 15:52 ` Anthony Liguori [this message]
2011-01-13 16:14 ` [Qemu-devel] " Avi Kivity
2011-01-13 16:39 ` Anthony Liguori
2011-01-13 17:09 ` Paolo Bonzini
2011-01-13 20:38 ` Anthony Liguori
2011-01-13 17:13 ` Alexander Graf
2011-01-13 20:43 ` Anthony Liguori
2011-01-14 11:27 ` Gerd Hoffmann
2011-01-14 14:36 ` Alexander Graf
2011-01-14 14:56 ` [Spice-devel] " Frédéric Grelot
2011-01-14 15:13 ` Gerd Hoffmann
2011-01-14 15:28 ` Alexander Graf
2011-01-14 15:44 ` Alexander Graf
2011-01-14 16:31 ` Gerd Hoffmann
2011-01-14 16:42 ` Alexander Graf
2011-01-17 7:48 ` Gerd Hoffmann
2011-01-18 19:57 ` Alexander Graf
2011-01-15 12:07 ` Alon Levy
2011-01-14 15:37 ` Anthony Liguori
2011-01-14 16:26 ` Gerd Hoffmann
2011-01-14 17:02 ` Peter Maydell
2011-01-17 8:14 ` Gerd Hoffmann
2011-01-13 16:18 ` Avi Kivity
2011-01-13 16:43 ` Anthony Liguori
2011-01-13 17:19 ` Gerd Hoffmann
2011-01-13 19:21 ` Avi Kivity
2011-01-13 19:55 ` [Qemu-devel] Re: [Spice-devel] " Alon Levy
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=4D2F1FA3.5030701@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=spice-devel@lists.freedesktop.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).