I've installed Ubuntu 9.04 Netbook Remix on the Shuttle...and it comes with a calibration utility located here:
Administration -> Calibrate Touchscreen
The documentation for the program is rather lacking, and for whatever reason, it doesn't calibrate the touchscreen properly...either that or it doesn't store the calibration properly...(I have no idea where it stores the calibration...because it doesn't seem to be changing /etc/X11/xorg.conf)
But in any case, you can still use it to help you perform a manual calibration...this is how:
- Start the calibration program (Administration -> Calibrate Touchscreen)
- Read the instructions and read them again...you won't see them again :'(
- When the white screen pops up, drag your finger, or stylus around the edges of the screen.
- When you have completed a full circuit, before you start clicking the 'X's write down the values contained in the top line of debug text. It should look something like: Min: (548/789) Max: (3560/3269)
- Finish the rest of the calibration, find some way to kill it (you don't need the rest **)
- Open your /etc/X11/xorg.conf and add the following lines (making sure to substitute your recorded values for 'MinX', 'MinY', 'MaxX', 'MaxY'):
Identifier "touchscreen"
Driver "evtouch"
Option "Device" "/dev/input/event6"
Option "DeviceName" "touchscreen"
Option "MinX" "548"
Option "MinY" "789"
Option "MaxX" "3560"
Option "MaxY" "3269"
Option "ReportingMode" "Raw"
Option "SendCoreEvents" "On"
Option "SwapX" "true"
EndSection
Section "InputDevice"
Identifier "dummy"
Driver "void"
Option "Device" "/dev/input/mice"
EndSection
Now save your file, restart, and you should be good to go!
** - These values should technically be used. From what I can tell, they are used to calculate a homography matrix that correlates your touch screen coordinates with actual monitor coordinates with a greater accuracy than just using the max/min bounds. But there are two problems here:
- Since the calibration utility doesn't save it's values anywhere (correct me if I'm wrong), especially not in xorg.conf, it is really hard to get the touch screen values of these points. You basically need to run the calibration utility from the command line and pull the points from the command line output.
- When you put these points, in the order the calibration program specifies them, into the xorg.conf file not surprisingly, your touch screen is unusable. The problem here could be that X is expecting the points in an order that is different than what the calibration program outputs. Until someone can verify that for me, this solution works fairly well.