[Spice-devel] paravirtual mouse/tablet

Gerd Hoffmann kraxel at redhat.com
Thu Jan 13 03:51:50 PST 2011


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).

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.

cheers,
   Gerd



More information about the Spice-devel mailing list