From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KTSS1-0001wl-Kr for qemu-devel@nongnu.org; Wed, 13 Aug 2008 22:20:33 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KTSRz-0001uh-OK for qemu-devel@nongnu.org; Wed, 13 Aug 2008 22:20:33 -0400 Received: from [199.232.76.173] (port=56164 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KTSRz-0001uW-H4 for qemu-devel@nongnu.org; Wed, 13 Aug 2008 22:20:31 -0400 Received: from smtp7-g19.free.fr ([212.27.42.64]:55552) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KTSRz-0006MR-2l for qemu-devel@nongnu.org; Wed, 13 Aug 2008 22:20:31 -0400 Received: from smtp7-g19.free.fr (localhost [127.0.0.1]) by smtp7-g19.free.fr (Postfix) with ESMTP id 71EDFB0133 for ; Thu, 14 Aug 2008 04:20:30 +0200 (CEST) Received: from laptop (vaf26-2-82-244-111-82.fbx.proxad.net [82.244.111.82]) by smtp7-g19.free.fr (Postfix) with ESMTP id 4F033B0114 for ; Thu, 14 Aug 2008 04:20:30 +0200 (CEST) In-Reply-To: <48A392C1.2050107@codemonkey.ws> Subject: Re: [Qemu-devel] [PATCH] [RFC] usb-wacom From: "=?windows-1252?q?Fran=E7ois?= Revol" Date: Thu, 14 Aug 2008 04:21:55 +0200 CEST Message-Id: <216579131-BeMail@laptop> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=----------Zoidberg-BeMail-temp-------- 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 This is a multipart message in MIME format. ------------Zoidberg-BeMail-temp-------- Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: quoted-printable > 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. Sorry, not used to this ml. Here it is. Btw, you top-posted ;) Fran=E7ois. > Fran=E7ois 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=5Fman/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=5Fserver/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=5Fserver/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=5FMAX 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 =3F ------------Zoidberg-BeMail-temp-------- Content-Transfer-Encoding: base64 Content-Disposition: BMailAttachment Content-Type: text/plain; name=qemu-usb-wacom-for-haiku.diff.txt SW5kZXg6IGh3L3VzYi13YWNvbS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGh3L3VzYi13YWNvbS5jCShyw6l2 aXNpb24gNTAwMikKKysrIGh3L3VzYi13YWNvbS5jCShjb3BpZSBkZSB0cmF2YWlsKQpAQCAtMjks NiArMjksMTYgQEAKICNpbmNsdWRlICJjb25zb2xlLmgiCiAjaW5jbHVkZSAidXNiLmgiCiAKKy8q IGRlYnVnIHVzYi13YWNvbSAqLworLy8jZGVmaW5lIERFQlVHX1VTQl9XQUNPTQorCisjaWZkZWYg REVCVUdfVVNCX1dBQ09NCisjZGVmaW5lIERQUklOVEYoZm10LCBhcmdzLi4uKSBcCitkbyB7IHBy aW50ZigidXNiLXdhY29tOiAiIGZtdCAsICMjYXJncyk7IH0gd2hpbGUgKDApCisjZWxzZQorI2Rl ZmluZSBEUFJJTlRGKGZtdCwgYXJncy4uLikKKyNlbmRpZgorCiAvKiBJbnRlcmZhY2UgcmVxdWVz dHMgKi8KICNkZWZpbmUgV0FDT01fR0VUX1JFUE9SVAkweDIxMDEKICNkZWZpbmUgV0FDT01fU0VU X1JFUE9SVAkweDIxMDkKQEAgLTEzMiw4ICsxNDIsOCBAQAogewogICAgIFVTQldhY29tU3RhdGUg KnMgPSBvcGFxdWU7CiAKLSAgICBzLT54ID0geDsKLSAgICBzLT55ID0geTsKKyAgICBzLT54ID0g KHggKiA1MDQwIC8gMHg3RkZGKTsKKyAgICBzLT55ID0gKHkgKiAzNzgwIC8gMHg3RkZGKTsKICAg ICBzLT5keiArPSBkejsKICAgICBzLT5idXR0b25zX3N0YXRlID0gYnV0dG9uc19zdGF0ZTsKIH0K QEAgLTE5OSwyNiArMjA5LDIyIEBACiAgICAgaWYgKHMtPmJ1dHRvbnNfc3RhdGUgJiBNT1VTRV9F VkVOVF9MQlVUVE9OKQogICAgICAgICBiIHw9IDB4MDE7CiAgICAgaWYgKHMtPmJ1dHRvbnNfc3Rh dGUgJiBNT1VTRV9FVkVOVF9SQlVUVE9OKQotICAgICAgICBiIHw9IDB4MDI7CisgICAgICAgIGIg fD0gMHg0MDsKICAgICBpZiAocy0+YnV0dG9uc19zdGF0ZSAmIE1PVVNFX0VWRU5UX01CVVRUT04p Ci0gICAgICAgIGIgfD0gMHgwNDsKKyAgICAgICAgYiB8PSAweDIwOyAvKiBlcmFzZXIgKi8KIAog ICAgIGlmIChsZW4gPCA3KQogICAgICAgICByZXR1cm4gMDsKIAogICAgIGJ1ZlswXSA9IHMtPm1v ZGU7Ci0gICAgYnVmWzVdID0gMHgwMDsKLSAgICBpZiAoYikgewotICAgICAgICBidWZbMV0gPSBz LT54ICYgMHhmZjsKLSAgICAgICAgYnVmWzJdID0gcy0+eCA+PiA4OwotICAgICAgICBidWZbM10g PSBzLT55ICYgMHhmZjsKLSAgICAgICAgYnVmWzRdID0gcy0+eSA+PiA4OworICAgIGJ1Zls1XSA9 IDB4MDAgfCAoYiAmIDB4ZjApOworICAgIGJ1ZlsxXSA9IHMtPnggJiAweGZmOworICAgIGJ1Zlsy XSA9IHMtPnggPj4gODsKKyAgICBidWZbM10gPSBzLT55ICYgMHhmZjsKKyAgICBidWZbNF0gPSBz LT55ID4+IDg7CisgICAgaWYgKGIgJiAweDNmKSB7CiAgICAgICAgIGJ1Zls2XSA9IDA7CiAgICAg fSBlbHNlIHsKLSAgICAgICAgYnVmWzFdID0gMDsKLSAgICAgICAgYnVmWzJdID0gMDsKLSAgICAg ICAgYnVmWzNdID0gMDsKLSAgICAgICAgYnVmWzRdID0gMDsKICAgICAgICAgYnVmWzZdID0gKHVu c2lnbmVkIGNoYXIpIC0xMjc7CiAgICAgfQogCg== ------------Zoidberg-BeMail-temp----------