qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] [RFC] usb-wacom
Date: Wed, 13 Aug 2008 21:04:49 -0500	[thread overview]
Message-ID: <48A392C1.2050107@codemonkey.ws> (raw)
In-Reply-To: <1498140435-BeMail@laptop>

Hi Francois,

Can you please send the patch to the mailing list attached as a 
text/plain attachment or inlined.  Then we can review and possibly 
commit it.

Thanks,

Anthony Liguori

François Revol wrote:
> Hi there.
> We use QEMU a lot to debug Haiku, http://haiku-os.org/
> I also wrote a little php script that use it to demo images online, 
> serving a VNC java applet to connect to it with VNC.
> http://dev.haiku-os.org/browser/haiku/trunk/3rdparty/mmu_man/onlinedemo/haiku.php
> It's a bit like what live.OSZoo does, but simpler.
>
> To accomodate the VNC setup, I tried to use the usb tablet emulation. 
> It turns out Haiku has a driver for Wacom tablets:
>
> http://dev.haiku-os.org/browser/haiku/trunk/src/add-ons/kernel/drivers/input/wacom
> http://dev.haiku-os.org/browser/haiku/trunk/src/add-ons/input_server/devices/wacom
>
> However, it didn't really work very well with qemu's usb-wacom code.
>
> First, mouse stayed in the top-left corner... Seems coords were set to 
> 0,0 when no button is pressed, which is wrong, most tablets actually 
> sense the stylus even when it's not yet touching the surface.
>
> Also, coords were wrong.
> Our driver takes the pos from the hardware, and scales them from model-
> dependant hardcoded max values:
> http://dev.haiku-os.org/browser/haiku/trunk/src/add-ons/input_server/devices/wacom/TabletDevice.cpp#L115
> down to [0.0f, 1.0f], which represents the whole screen.
> Since QEMU reports absolute mouse position scaled from screen size to 
> INT16_MAX this didn't really work.
> Now, I'm not sure those max values are correct for all Penpartner 
> devices, or if they were calibrated on a specific item.
> Best would be to actually read them from the HID descriptor, but QEMU 
> doesn't provide one, and I read some penpartner tablets actually have 
> wrong descriptors anyway.
>
> Finaly, I fixed button handling according to our driver, not sure all 
> drivers handle them the same. pressure indicates left button, and a 
> flag tells about right one. I mapped middle button to the eraser to at 
> least be useful in tablet-aware software though I'm not sure it's the 
> best way.
>
> And... oh well seems we don't need to tell we have a contact, the 
> driver assumes it always for penpartner so it seems correct.
>
> I left debug macro I used just in case.
>
> http://revolf.free.fr/beos/patches/qemu-usb-wacom-for-haiku.diff.txt
>
> Now at least it works perfectly with our driver, appart from high cpu 
> usage but that's surely be fixed by polling less often.
>
> Comments ?
>
> François.
>
>
>   

  reply	other threads:[~2008-08-14  2:05 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-14  0:07 [Qemu-devel] [PATCH] [RFC] usb-wacom François Revol
2008-08-14  2:04 ` Anthony Liguori [this message]
2008-08-14  2:21   ` François Revol
2008-08-14 10:23 ` Jamie Lokier
2008-08-14 12:04   ` François Revol
2008-08-14 12:26     ` Jamie Lokier
2008-08-14 12:44       ` François Revol
2008-08-14 11:52 ` andrzej zaborowski
2008-08-14 12:17   ` François Revol

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=48A392C1.2050107@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=qemu-devel@nongnu.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).