Viewsonic Viewpad 1000 Touchscreen on Linux

This is a patch against the latest (as of 2009-04-15) xorg mouse driver that will extend the default PS/2 driver to understand absolute events fired by the touchscreen of the Viewsonic Viewpad 1000 tablet PC. This is far from pretty and is not written to be ever included upstream, it was hacked together just to get one thing done: have my tablet PC work properly. Most of the credits go to Randolph Bentson who wrote the base for this patch in 2002, the patch never made it to the XFree tree at the time. I removed all logic trying to separate PS/2 protocols from Screencoder PS/2 protocols to make it a single purposed patch.

Download xf86-input-mouse-semtech.patch

install & setup

To install, clone the git rep for xf86-input-mouse from cgit and apply the patch. Here is a sample xorg.conf section:

Section "InputDevice"
        Identifier  "Mouse0"
        Driver "mouse"
        Option "SendCoreEvents" "true"
        Option "Device" "/dev/semtech"
        Option "Rotate" "CCW"
        Option "MinX" "10"
        Option "MaxX" "982"
        Option "MinY" "30"
        Option "MaxY" "970"
        Option  "Protocol" "PS/2"

If you wonder where I got my /dev/semtech, well it's pretty simple, it comes from the serio_raw module which is used to control the PS/2 port on new Linux kernels. Here is a couple init lines you can throw in your rc.local:

/sbin/modprobe serio_raw
/bin/sleep 1
echo -n "serio_raw" > /sys/bus/serio/devices/serio1/drvctl
/bin/mknod /dev/semtech c 10 60

Of course, you might need to update the numbers or paths a bit, read dmesg to find out th major/minors for the device.

Last updated: 2009-04-15