|
From: | Gerd Hoffmann |
Subject: | [Qemu-devel] Re: [Spice-devel] paravirtual mouse/tablet |
Date: | Thu, 13 Jan 2011 12:51:50 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101208 Red Hat/3.1.7-3.el6_0 Thunderbird/3.1.7 |
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
[Prev in Thread] | Current Thread | [Next in Thread] |