qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: [Spice-devel] paravirtual mouse/tablet


From: Anthony Liguori
Subject: Re: [Qemu-devel] Re: [Spice-devel] paravirtual mouse/tablet
Date: Thu, 13 Jan 2011 09:55:49 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Lightning/1.0b1 Thunderbird/3.0.10

On 01/13/2011 05:51 AM, Gerd Hoffmann wrote:
On 01/13/11 12:01, Stefan Hajnoczi wrote:

Can you elaborate how the spice display channel comes into play?  On a
physical machine you just have input devices with no notion of
display.  It's up to the windowing system to process input events and
handle multihead.  Why does a pv tablet tie itself to a display
channel?

You have two qxl devices, each linked to a spice display channel. The spice client will open one window for each channel. The mouse position is a triple consisting of (x, y, window/channel).


Would be slightly cleaner to have multiple devices. That avoids breaking the abstraction and sets us up to handling multiple mice properly in the future. That maybe implies that we need an offscreen coordinate for the mouse so that you can hide the mouse when it leaves one window.

Only the guest knows how it configured the displays, so only the guest is able to create a correct pointer position out of this data. So the X-Server would combine this data with its virtual display configuration (basically adding the display offset to the coordinates), then send this as event to the X clients.

What about mouse wheel (aka z axis motion)?

It's covered. That are really just button presses at mouse protocol level (buttons 4+5). We can add them to the enum to have fancy names for them, that is just the sugar on top though.

If we add features, then we can deal with things like an additional axis to cover pressure sensitive touchpads. Not worth designing now but a feature negotiation gives us the option later.

Regards,

Anthony Liguori

cheers,
  Gerd






reply via email to

[Prev in Thread] Current Thread [Next in Thread]