(edit: ps, installing xrandr worked. I no longer have a cricked neck looking at my Z sideways!)
excellent; I've never played with X11 keyboard mapping so using what you wrote, I found
http://www.linux.com/feature/59494 and added these lines to the .xbindkeysrc file and ran xbindkeys
CODE
#Fn 3
"display-brightness.sh down"
m:0x40 + c:12
#Fn 4
"display-brightness.sh up"
m:0x40 + c:13
the flickering occurred even when external power was connected!
unfortunately, your display-brightness.sh was b0rked - it had dos CR/LF, so I removed them. I noticed something odd when I tried increasing the brightness, found a few bugs in the script and also that the corgi-bl driver reports max-brightness wrongly, so I rewrote it...
CODE
#!/bin/sh
# display-brightness.sh
# simple script to set display-brightness for zaurus clamshell
# author: patrick steiner <[EMAIL PROTECTED]>
# modified by: Ian Munsie <[EMAIL PROTECTED]>
# modified by: Paul M "speculatrix" - for Spitz/Zubuntu
# version: 1.02 | 15/12/2008 21:48 GMT
STEP=5
MAX_BRIGHTNESS=15
MIN_BRIGHTNESS=2
DRIVER="`ls /sys/class/backlight/|head -n 1`"
BRIGHTNESS_FILE="/sys/class/backlight/$DRIVER/brightness"
BRIGHTNESS=`cat /sys/class/backlight/$DRIVER/actual_brightness`
# this gives bad number - 15 is max, 16 is off!
#MAX_BRIGHTNESS=`cat /sys/class/backlight/$DRIVER/max_brightness`
POWER_FILE="/sys/class/backlight/$DRIVER/bl_power"
POWER_ON=0
#POWER_OFF=1
if [ ! -n "$1" ]; then
echo "max / current"
echo "$MAX_BRIGHTNESS / $ACTUAL_BRIGHTNESS"
elif [ "$1" = "up" ]; then
test -x /usr/bin/bl && bl on
echo $POWER_ON >> $POWER_FILE
if [ $BRIGHTNESS -lt $MAX_BRIGHTNESS ]; then
let BRIGHTNESS=$BRIGHTNESS+$STEP
if [ $BRIGHTNESS -ge $MAX_BRIGHTNESS ]; then
let BRIGHTNESS=$MAX_BRIGHTNESS
fi
echo $BRIGHTNESS >> $BRIGHTNESS_FILE
fi
elif [ "$1" = "down" ]; then
test -x /usr/bin/bl && bl on
echo $POWER_ON >> $POWER_FILE
if [ $BRIGHTNESS -gt $MIN_BRIGHTNESS ]; then
let BRIGHTNESS=$BRIGHTNESS-$STEP
if [ $BRIGHTNESS -le $MIN_BRIGHTNESS ]; then
let BRIGHTNESS=$MIN_BRIGHTNESS
fi
echo $BRIGHTNESS >> $BRIGHTNESS_FILE
fi
else
echo -e "\nUsage:\n\t `basename $0` [up | down]\n"
fi
I found that when X is running, even the lightweight lxde , it runs very low on memory, so I added a swapfile (I previously had a swap partition but the install killed that :-)..
CODE
# free
total used free shared buffers cached
Mem: 62136 60764 1372 0 176 12340
-/+ buffers/cache: 48248 13888
Swap: 0 0 0
# dd if=/dev/zero of=/.swap bs=1024 count=65536
# mkswap /.swap
# swapon /.swap
# free
total used free shared buffers cached
Mem: 62136 60496 1640 0 436 11916
-/+ buffers/cache: 48144 13992
Swap: 65528 0 65528