WIP: usb touchscreen drivers

Volker volker at vwsoft.com
Tue Jun 10 18:39:02 UTC 2008

Hi everybody!

I'm taking the chance and cross-posting this to the exciting, hopefully
soon becoming busy, shiny new mailing list (freebsd-wip-status@ bcc'd,
for those not already aware).

Currently I'm working under contract for developing FreeBSD drivers for
USB touchscreen devices. Before coding started, I've figured out the
possible solutions to get a touchscreen device running under FreeBSD /
X11 but haven't found much. We currently don't have any specialized
drivers (but ums and uhid).

More than worse: By default the ums driver is attaching to the device by
default which has no support for devices reporting zero buttons and
absolute coordinates. Currently OpenBSD has support for touchscreen
devices but I found it difficult (or at least too much work) to port
over wscons and replace syscons with that. Current touchscreen
xf86-input drivers do partly support USB devices under Linux and I don't
like to have the Xinput driver parse the USB protocol itself. Using a
specialized kernel driver has some advantages IMO.

Currently I'm having a basic, working driver (hence: WIP!), at kernel
level (utouch) and a corresponding xf86-input-utouch driver. The first
device supported is a Generaltouch ST6101U. So far, the device is
working, the X pointer is following touches and button clicks are
reported to X. Axis scaling is currently sub-optimal but I think I'll
rework the scaling once more.

What I would love to see: If you're having a USB connected touchscreen
device laying around, I would love to see a krepdump [1] of that device
to see how other devices are reporting. Especially, if you're having a
multi-touch device, I would strongly love to see how this device reports

BTW, it shouldn't be too difficult to enhance my driver infrastructure
to also support tablet devices (also reporting absolute coordinates but
also reporting button presses and some more functionality).

As this work is under contract, I need to get approval to release the
code but I'm pretty sure to get approval (BSD-licensed, of course). If
you're interested in seeing USB touchscreen support for FreeBSD this way
and have a device laying around, please contact me directly and I'll see
how to support your device.



[1] http://people.freebsd.org/~kaiw/tools/krepdump.tgz

More information about the freebsd-wip-status mailing list