zaurusd: - Do only try to rotate when necessary (no more Landscape -> Landscape ...
authorMatthias Hentges <oe@hentges.net>
Thu, 29 Nov 2007 21:50:42 +0000 (21:50 +0000)
committerMatthias Hentges <oe@hentges.net>
Thu, 29 Nov 2007 21:50:42 +0000 (21:50 +0000)
- Power off display on lid-close and remember old brightness setting
- Run power-on function in the background to allow faster response on lid-open

packages/zaurusd/files/zaurus-hinge.bl-off
packages/zaurusd/files/zaurus-hinge.bl-on
packages/zaurusd/files/zaurus-hinge.matchbox-landscape
packages/zaurusd/files/zaurus-hinge.matchbox-portrait
packages/zaurusd/zaurusd_svn.bb

index 888f90b..ec3cefb 100644 (file)
@@ -6,5 +6,13 @@
 # Filename: zaurus-hinge.bl-off
 # Date: 04-Jun-06
 
-test -z "${ZD_BINDIR}" && ZD_BINDIR="/usr/bin"
-${ZD_BINDIR}/bl off
+#test -z "${ZD_BINDIR}" && ZD_BINDIR="/usr/bin"
+#${ZD_BINDIR}/bl off
+
+
+STEP=5
+DRIVER="`ls /sys/class/backlight/|head -n 1`"
+BRIGHTNESS_FILE="/sys/class/backlight/$DRIVER/brightness"
+
+cat "$BRIGHTNESS_FILE" > /var/run/display_brightness.tmp
+echo 0 > "$BRIGHTNESS_FILE"
index b9b0e68..6159815 100644 (file)
@@ -12,7 +12,7 @@ ${ZD_BINDIR}/bl on
 # If the backlight does not come back on after a suspend, the driver is 
 # still "on" (hence "bl on" does nothing) with a brightness of "0"
 
-if test "`bl | awk '{print $2}'`" = "0"
+if test "`bl | awk '{print $2}'`" = "0"
 then
        x=0
        while test "$x" != 4
@@ -24,5 +24,29 @@ then
                
                let x=$x+1
        done
-fi
+       
+       if mkdir /var/run/display_brightness.lock
+       then
+               if test -e /var/run/display_brightness.tmp
+               then
+                       OLD_VALUE="`cat /var/run/display_brightness.tmp`"
+                       echo "OLD BRIGHTNESS SETTING FOUND: $OLD_VALUE"
+
+                       if test "$OLD_VALUE" -gt 1
+                       then
+                               STEP=5
+                               DRIVER="`ls /sys/class/backlight/|head -n 1`"
+                               BRIGHTNESS_FILE="/sys/class/backlight/$DRIVER/brightness"
+
+                               echo "SETTING $OLD_VALUE!"
+                               echo "$OLD_VALUE" > "$BRIGHTNESS_FILE"
+                               rm /var/run/display_brightness.tmp
+                               echo "FINISH!"
+                       fi
+               fi
+               rm -rf /var/run/display_brightness.lock
+       else
+               echo "BRIGHTNESS IS LOCKED"
+       fi
+fi ) &
 
index e7b92b5..a048769 100644 (file)
   # urg mbinputmgr should kill below
   killproc ${ZD_BINDIR}/matchbox-keyboard
   killproc ${ZD_BINDIR}/matchbox-stroke
+  
   if [ -x ${ZD_BINDIR}/xrandr ]; then
-    xrandr -o normal
+       if ! ( xrandr | awk '{print $4}' | grep -q normal )
+       then
+               ${ZD_BINDIR}/xrandr -o normal 
+       fi
   fi
index bd04d32..291617c 100644 (file)
@@ -1,7 +1,10 @@
 #!/bin/sh
 
   if [ -x ${ZD_BINDIR}/xrandr ]; then
-    ${ZD_BINDIR}/xrandr -o left 
+       if ! ( xrandr | awk '{print $4}' | grep -q left )
+       then
+               ${ZD_BINDIR}/xrandr -o left 
+       fi
   fi
   # just to be extra safe
   sleep 1
index 8f559fb..8bc0b2b 100644 (file)
@@ -4,7 +4,7 @@ LICENSE = "GPL"
 DEPENDS = "tslib"
 RDEPENDS = "procps"
 PV = "0.0+svn${SRCDATE}"
-PR = "r13"
+PR = "r14"
 
 SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=zaurusd;proto=http \
            file://zaurus-hinge.in \