From: Anthony Liguori <anthony@codemonkey.ws>
To: Alexander Graf <agraf@suse.de>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
spice-devel <spice-devel@lists.freedesktop.org>,
Gerd Hoffmann <kraxel@redhat.com>, Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] paravirtual mouse/tablet
Date: Fri, 14 Jan 2011 09:37:45 -0600 [thread overview]
Message-ID: <4D306DC9.8040805@codemonkey.ws> (raw)
In-Reply-To: <108D35F5-7E49-4598-8903-599190A885E1@suse.de>
On 01/14/2011 08:36 AM, Alexander Graf wrote:
> On 14.01.2011, at 12:27, Gerd Hoffmann wrote:
>
>
>> Hi,
>>
>>
>>> * multitouch capabilities would be good to design in a mouse protocol
>>> for 2011, so having say 16 x/y pairs would be better
>>>
>> Point. What do we need here? Finger $n down, finger $n up, finger $n moved to $x,$y? Does it make sense to just add this to the move+buttonup/down structs? Or should it better be separate?
>>
> I guess a mere tuple of (x,y,down) N times should be enough for the protocol, no?
Surely, evdev has an interface to support this already. Let's just do
what it does instead of inventing something that none of us can validate
actually works.
Or better yet, delay implementing it until someone actually knows how to
support it.
Regards,
Anthony Liguori
> This would even be useful for single-point tablets which usually also have a proximity detector. Thinking about this a bit more - there are proximity sensors in tablets :). So they know how hard you pressed. If we want to be able to forward that to the guest from a real world tablet, we need a pressure field.
>
> So it'd end up being (x,y,pressure) N times (I think 16 is fine for the foreseeable future). The details of what exactly that means should be figured out by the guest driver. If the guest is multitouch capable, it'd forward those events to the respective system. If it's tablet compatible, take the first entry and if it only supports plain mice, just make it (x,y) when pressure> 0.
>
>
>>
>>> * on mac os at least scrolling is not done by pressing virtual
>>> buttons, but by having a separate scroll interface that knows about
>>> velocity and such - maybe worth adding that to the protocol from the
>>> beginning too.
>>>
>> Is that actually done by the hardware? I'd expect macos processes the multitouch events, then provides this (finger $n moves this fast into that direction) as high-level interface, so this isn't something we have to care about at virtual hardware level.
>>
> I'm not familiar with the hardware interface, but in order to support that the background interface must be a lot more complex than a simple button press. I'd frankly assume they do that in software with their own multitouch detection code though, so it should be fine to have the buttons as legacy interface as long as there is multitouch to implement the scrolling.
>
> But then again - how would we forward fine-grained scrolling to the guest if we only know that it's scrolling, but not what the actual presses on the touchpad looked like? Ugh.
>
>
> Alex
>
>
next prev parent reply other threads:[~2011-01-14 15:37 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 ` [Qemu-devel] " Anthony Liguori
2011-01-13 16:14 ` 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 [this message]
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=4D306DC9.8040805@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=agraf@suse.de \
--cc=avi@redhat.com \
--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).