Yeah that’s right. I updated to Ubuntu 9.04. That’s kind of a lie, I actually moved to Crunchbang 9.04, but it’s all the same under the hood. The move to evdev-based devices is giving me a headache. You may have noticed that the pen works out of the box, but I need the eraser to be able to efficiently take notes in Xournal, and this took some work. First of all, let’s get middle-click scrolling working the new way.

Middle-click scrolling, this is a summary and repost of this blog.
Do this to create mouse-wheel.fdi:

sudo gedit /etc/hal/fdi/policy/mouse-wheel.fdi

Copy in this:

<match key="info.product" string="TPPS/2 IBM TrackPoint">
<merge key="input.x11_options.EmulateWheel" type="string">true</merge>
<merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
<merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
<merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
<merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge>
<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
</match>


Now we’ll go ahead and set up your tablet.

sudo apt-get install wacom-tools
sudo gedit /etc/hal/fdi/policy/custom-wacom.fdi

And assuming you have an x61 Tablet like myself, copy this in:
Remember that this should work for anyone with a serial Wacom backend, but specifically Lenovo x61 and x200 Tablets

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->

<deviceinfo version="0.2">

 <device>
 <match key="input.x11_driver" contains="wacom">
 <match key="input.x11_options.Type" contains="stylus">
 </match>
 </match>
 <match key="input.x11_driver" contains="wacom">
 <match key="input.x11_options.Type" contains="eraser">
 </match>
 </match>
 <match key="input.x11_driver" contains="wacom">
 <match key="input.x11_options.Type" contains="cursor">
 <merge key="input.x11_options.Mode" type="string">Absolute</merge>
 </match>
 </device>

</deviceinfo>

If you have an x61 or x200 Tablet, you need to set up this script to run on boot written by Roger Critchlow Jr.

sudo gedit /etc/init.d/wacom

Copy the script into that file:

#!/bin/bash
# find any wacom devices
for udi in `hal-find-by-property --key input.x11_driver --string wacom`
do
type=`hal-get-property --udi $udi --key input.x11_options.Type`
# rewrite the names that the Xserver will use
hal-set-property --udi $udi --key info.product --string $type
case $type in
stylus|eraser)
# map stylus button 2 to mouse button 3
hal-set-property --udi $udi --key input.x11_options.Button2 --string 3
;;
esac
done

Set it executable.

sudo chmod +x /etc/init.d/wacom

Create symbolic links into the right places so that it starts at the right time:

sudo ln -s /etc/init.d/wacom /etc/rc5.d/S27wacom
sudo ln -s /etc/init.d/wacom /etc/rc4.d/S27wacom
sudo ln -s /etc/init.d/wacom /etc/rc3.d/S27wacom
sudo ln -s /etc/init.d/wacom /etc/rc2.d/S27wacom

Finally, you have to add one more line to another file:

NOTICE: This final step might be unnecessary. I’m not sure. Feedback would be wonderful.

sudo gedit /usr/share/hal/fdi/policy/20thirdparty/10-wacom.fdi

Find:

<match key="info.capabilities" contains="serial">

Under it, find:

<append key="wacom.types" type="strlist">eraser</append>

Add:

<append key="wacom.types" type="strlist">cursor</append>

And that’s it. All of the other settings are the same so this post should finish up the setup.

I made a few small typos on Day 1. Hopefully you smart folks figured them out/noticed them. I think they are fixed now. Also discovered a few places where WordPress replaced my straight quotes with curly quotes. Everything is copy-and-paste-able now. My apologies!