Here are a couple of drivers I’ve been working on for the Cross iPen. The iPen is a long-discontinued drawing tablet that tries to act much like a pen, but which has a odd (and for the longest time proprietary) output format. My iPen languished in my office for about 4 years before Christopher Barrington-Leigh managed to get a specification for the output to me, at which point I picked it up off the floor, replaced the exploded AAAA battery with a new one, and started writing drivers.
I’ve written drivers for
gpm version 1.19.6
and for XFree86 3.3.6.
I’ve also hacked support into the
FreeBSD moused
driver,
but that driver isn’t really good for handling tablets, so I’ve
not pursued it very far.
I’ve written:
ipen
. This software is released both under
a BSD-style license and a stripped down version
of that license that should be compatable with the GPL.This program, once you get it built, adds an XExtensionDevice
to your X server that lets you use the iPen as a mouse (and I
think also as a drawing device for the GIMP and other graphics
programs.) I’ve built it as a loadable module for X11, but I
think it will also work if you statically link it into the
server. It wasn’t easy for me to get this thing to build (I
had to manually hack the Makefile
in
xc/programs/Xserver/hw/xfree86/common
to build it, so
I’d be intensely thankful if someone could point me to a tutorial
on how to write Xinput modules without having to drag
the whole obnoxious X11R6 source distribution around after
it.
To build the iPen driver as part of the X server (for Xfree 3.3.6; I don’t know what the build process is for Xfree 4 or the Xopen offering), you need to
$ROOT
(pick your $ROOT
, but remember it.xf86iPen.c
to ${ROOT}
/programs/Xserver/hw/xfree86/common
.${ROOT}
/programs/Xserver/hw/xfree86/common
.Imakefile
(add xf86iPen.c
to XINPUT_DEV_SRCS
and xf86iPen.o
to XINPUT_DEV_OBJS
)$ROOT
.All of this code is released under a BSD-style copyright, so you can do just about everything you want with it.