From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KTSDU-0003p5-1j for qemu-devel@nongnu.org; Wed, 13 Aug 2008 22:05:32 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KTSDS-0003mW-Gl for qemu-devel@nongnu.org; Wed, 13 Aug 2008 22:05:31 -0400 Received: from [199.232.76.173] (port=45642 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KTSDS-0003mP-CK for qemu-devel@nongnu.org; Wed, 13 Aug 2008 22:05:30 -0400 Received: from mail-gx0-f23.google.com ([209.85.217.23]:45767) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KTSDR-000388-Dc for qemu-devel@nongnu.org; Wed, 13 Aug 2008 22:05:29 -0400 Received: by gxk4 with SMTP id 4so1639821gxk.10 for ; Wed, 13 Aug 2008 19:05:28 -0700 (PDT) Message-ID: <48A392C1.2050107@codemonkey.ws> Date: Wed, 13 Aug 2008 21:04:49 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] [RFC] usb-wacom References: <1498140435-BeMail@laptop> In-Reply-To: <1498140435-BeMail@laptop> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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. > > >