I thought it'd be a tolerably good idea to celebrate boxing day
with installing OpenSUSE 11.1. After all, given that this laptop is
a Thinkpad X61t with built-in tablet, installing a new version of any
distribution tends to be interesting.
And indeed, I ran into two glitches: at first, OpenSUSE 11.1 refused
to install my chosen grub configuration. Putting grub on the mbr fixed
that, but it was quite a bit of a bother since my laptop didn't boot
except from the external cd drive. But it was also my own fault for
accidentally pressing the wrong key in the dialog that asked me whether
I wanted to revisit my grub options or install anyway.
The tablet was a bit harder to get working,
although the fix is simple and detailed in this bug
report -- simply use ttyS4 instead of ttyS0, which used to be the
right port to use for a tablet pc. And you know what? The touch screen of
this laptop works, too, now! Only I have to use a nail, not my fingers.
I think it's time to send Danny Kukawka cookies :-).
Now everything is fine, and rotating the screen with krandrtray very,
very nearly works perfectly: only the wacom input devices aren't told
about the rotation yet.
If I get that configured correctly, I'll be totally happy. Sound
works, wireless network works (but it's still more convenient to use
ifup instead of network manager, but the 11.0 bug where I'd have to
restart the wireless network after booting to get it working is
fixed. KDE looks great and feel very stable and I'm already recompiling
KOffice.
Next: give it a try on the kids' laptops.
Update:
Of course, don't forget to manually change the device names
from Mouse[x] to stylus and eraser in your xorg.conf: otherwise
Krita won't work. And the following script, copied & bug-fixed from
Thinkwiki
makes the rotation work just fine:
#!/bin/sh
output="(normal left inverted right)" #LVDS
# if [ "$XROT_OUTPUT" ]
# then
# output=$XROT_OUTPUT;
# fi
devices="stylus cursor eraser"
geomnbr=0
xrandr=normal
wacom=normal
if [ "$1" == "-" ] || [ "$1" == "+" ] || ! [ "$1" ];
then
operator="$1";
[ "$1" ] || operator='+';
case `xrandr --verbose | grep "$output" | sed "s/^[^ ]* [^ ]* [^ ]* ([^(]*) \([a-z]*\).*/\1/"` in
normal) geom=0;;
left) geom=1;;
inverted) geom=2;;
right) geom=3;;
esac
let geom=${geom}${operator}1+4
let geom=${geom}%4
else
geom="$1"
fi
case $geom in
1) wacom=2; xrandr=left ;;
2) wacom=3; xrandr=inverted ;;
3) wacom=1; xrandr=right ;;
*) wacom=0; xrandr=normal ;;
esac
echo "xrandr to $xrandr, xsetwacom to $wacom" >&2
if xrandr -o "$xrandr"; then
for d in $devices
do
xsetwacom set "$d" Rotate "$wacom"
done
fi
if [ "`xsetwacom get stylus Mode`" == '1' ]; then
for d in $devices
do
xsetwacom set $d CoreEvent "off"
xsetwacom set $d Mode "off"
done
{ sleep 1;
for d in $devices
do
xsetwacom set $d Mode "on"
xsetwacom set $d CoreEvent "on"
done; } &
fi
My changes are to actually use the $d from the $devices and to add the eraser...