Stochastic Geometry

October 6, 2009

VisTablet under Debian Squeeze

Filed under: C,General,Linux — Mark Dennehy @ 15:00
Tags: , , , , , , , , , , , , ,

DSCF5570b

A new toy arrived today – the VisTablet, which is just a rebadged Aiptek 600U (model number WCK-C121). They sell as Aiptek or Waltop or Medion or any one of a few other names for about €65 on ebay.ie at the moment, so I thought what the heck, I do a fair bit of stuff in Gimp so maybe it’s worth a look. A few clicks and a week or so later and it arrives. Cue tearing open the box and unwrapping!

Plugging it into the laptop (Thinkpad R61 running Debian Squeeze amd64) got an instant result in that it found the device and allowed cursor movement… but no actual buttons or pressure sensor stuff, so it couldn’t work as a tablet. So off to google we go and after trying some frustrating messing about with udev rules (to create /dev/apitektablet - which isn’t necessary it turns out) and hal fdi files (to set up X.org options, which are needed) and I’d advanced in a posterior direction.

By now we were through the phase where plugging in the device crashed X and had reached the phase where plugging the device out crashed X. At this point, I found that the problem lay in the wacom drivers. See, just because it’s aiptek hardware doesn’t mean the aiptek drivers actually work – in this case, the wacom driver works much better.

But, just to be annoying, the new version of the wacom driver doesn’t work because it picks up that it’s not a wacom device and commits seppku to avoid being of any use. Note to the coder who thought that was a good idea – go choke on a hairball please.

Solution? Go to linuxwacom and download the latest driver, then untar the tarball, go into linuxwacom-0.8.4-2/src/xdrv and edit wcmUSB.c. You’re looking for this line (it’s line 530 in version 0.8.4.2):

/* vendor is wacom */
 if (sID[1] == 0x056A)
 {

And you want to change it to this:

/* vendor is wacom or waltop */
 if (sID[1] == 0x056A || sID[1] == 0x172f)
 {

Now apt-get install xorg-dev and whatever other packages you need like build-essential and call configure and make and then sudo make install.

You now have a working wacom driver and if you copy the wacom.fdi file into /etc/hal/fdi/policy/ (it’s /usr/share/hal/fdi/policy/20thirdparty/10-linuxwacom.fdi on Debian) and add in the following bit:

<match key="info.product" contains="WALTOP">
   <merge key="input.x11_driver" type="string">wacom</merge>
   <merge key="input.x11_options.Type" type="string">stylus</merge>
   <append key="info.callouts.add" type="strlist">hal-setup-wacom</append>
   <append key="wacom.types" type="strlist">eraser</append>
   <append key="wacom.types" type="strlist">cursor</append>
   <append key="wacom.types" type="strlist">pad</append>
</match>

into the <device> section of the xml file (you probably don’t need the eraser and cursor lines, but what the heck, they don’t harm anything and I was too tired of restarting X at this point to check). You should now be almost done – restart hal, restart x.org, and log back in and then plug in the tablet (check dmesg and /var/log/X.0.log so you’re sure it worked) and then fire up Gimp, go to Edit->Preferences->Input Devices->Configure Extended Input Devices and make sure the tablet is listed there and that it’s not set to disabled, then go to Edit->Preferences->Input Controllers and make sure that Linux Input is in the list of active controllers and is set to look at the tablet, and it should work.

ItWorks

Mind you… if this is what it takes to make cheap hardware work on linux, Linux Hater has a very good point.

About these ads

3 Comments »

  1. [...] movement… but no actual buttons or pressure sensor stuff, so it couldn’t work as a tablet More here By now we were through the phase where plugging in the device crashed X and had reached the phase [...]

    Pingback by VisTablet under Debian Squeeze | Debian-News.net - Your one stop for news about Debian — October 7, 2009 @ 18:30 | Reply

  2. Hi Mark,

    I too have one of these tablets, and was wondering if/how you got the buttons on the pen to work, and if/how you got the buttons around the side of the pad to work.

    The pen buttons seem to work and be mapped to the mouse buttons, but I can’t figure out how to map them to other functions in eg The Gimp. I can’t get the buttons around the outside of the pad to do anything.


    Mark

    Comment by Mark — November 22, 2009 @ 13:20 | Reply

  3. I followed your directions to the letter on Ubuntu 9.10 but X is restarting every time I plug or unplug the tablet. If I try to boot up with the tablet plugged in, X won’t even start. What was causing this to happen for you?

    Comment by arealnowhereman — March 22, 2010 @ 01:11 | Reply


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

The Rubric Theme. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: