> 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çois. > 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 ?