Advertisement
Guest User

samsung nc110 brightness adjustment

a guest
Jan 27th, 2012
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.76 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. DEVICE=00:02.0
  4.  
  5. VALUES=(02 04 06 08 0c 10 20 40 60 80 a0 d0 f0)
  6. DEFAULT=11
  7.  
  8. current=$(setpci -s $DEVICE F4.B)
  9. current=${current,,}
  10. case "$1" in
  11.     set|reset)
  12.         if [ -n "$2" ]; then
  13.             new=${2,,}
  14.             if [ "${#new}" -eq 1 ]; then
  15.                 new=0$new
  16.             fi
  17.         else
  18.             new=${VALUES[DEFAULT]}
  19.         fi
  20.         tmp=$((0x$new))
  21.         if [ $tmp -gt 1 ] && [ $tmp -lt 256 ]; then
  22.             if setpci -s $DEVICE F4.B=$new >/dev/null 2>&1; then
  23.                 echo "Brightness set from 0x$current to 0x$new"
  24.             else
  25.                 exit 2
  26.             fi
  27.         else
  28.             echo "Incorrect brightness value: $new" >&2
  29.             exit 1
  30.         fi
  31.         ;;
  32.     up|down)
  33.         for i in $(seq 0 $((${#VALUES[*]}-1))); do
  34.             if [ "${VALUES[$i]}" == "$current" ]; then
  35.                 break
  36.             fi
  37.         done
  38.         if [ "${VALUES[$i]}" != "$current" ]; then
  39.             i=$DEFAULT
  40.         fi
  41.         case "$1" in
  42.         up)
  43.             i=$((i+1))
  44.             if [ "$i" -eq "${#VALUES[*]}" ]; then
  45.                 echo "Brightness is already maximum"
  46.             else
  47.                  new=${VALUES[$i]}
  48.                  $0 set $new >/dev/null 2>&1 && echo "Brightness increased from 0x$current to 0x$new"
  49.             fi
  50.             ;;
  51.         down)
  52.             i=$((i-1))
  53.             if [ "$i" -eq "-1" ]; then
  54.                 echo "Brightness is already minimum"
  55.             else
  56.                  new=${VALUES[$i]}
  57.                  $0 set $new >/dev/null 2>&1 && echo "Brightness decreased from 0x$current to 0x$new"
  58.             fi
  59.             ;;
  60.         esac
  61.         ;;
  62.     *)
  63.         echo "Current brightness is 0x$current"
  64.         ;;
  65. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement