[Spice-devel] [Qemu-devel] paravirtual mouse/tablet
agraf at suse.de
Fri Jan 14 07:28:59 PST 2011
On 14.01.2011, at 16:13, Gerd Hoffmann wrote:
>> So it'd end up being (x,y,pressure) N times (I think 16 is fine for
>> the foreseeable future).
> I'd tend to extend MOVE to (x,y,pressure,index) and send N events with the same timestamp. Needs to send only as many events as it finds fingers on the touchpad, i.e. usually just one or two, even if the protocol can easily handle alot more than 16 ;)
> For a simple tablet pressure and index would just be 0.
For a simple tablet pressure would be MAX and index would be 0. But yes, I like the idea :).
>> The details of what exactly that means
>> should be figured out by the guest driver.
>> 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.
> Buttons events are for buttons. Real ones, which apple lost ;)
> Of course a tap on the trackpad is usually interpreted as mouse click. But that is the job of the guest OS, our virtual hardware doesn't care.
With an interface the way you mention it below (self-implemented gesture support), this shouldn't be an issue. A tap should just get forwarded to the guest as a tap and then the guest can configure what a tap means - which is what users want.
>> 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.
> There must be an interface to get (more or less) the raw touchpad data, for apps which want implement their own multitouch gestures?
I'm not sure there is, but that seems like the only viable solution. This way the guest can define its own multitouch gestures that the host doesn't even have to know about (think of osx guests on linux hosts for example).
More information about the Spice-devel