[S'enregister] - [S'identifier]
gheop wall

Vaio FNKeys ACPI

Bash
par SiB (09/03/08)
l'osd_cat ne s'affiche pas, why?
Cacher les numéros de lignes
  1. # /etc/acpi/events/sonyhotkey
  2. event=SPIC
  3. action=/etc/acpi/hotkeys.sh %e
  4.  
  5.  
  6.  
  7.  
  8. #!/bin/sh
  9. # /etc/acpi/hotkeys.sh
  10. increase_brightness() {
  11. local cur_b=$(/bin/cat /sys/class/backlight/sony/brightness)
  12. echo $((cur_b 1)) > /sys/class/backlight/sony/brightness || /bin/true
  13. }
  14.  
  15. decrease_brightness() {
  16. local cur_b=$(/bin/cat /sys/class/backlight/sony/brightness)
  17. echo $((cur_b - 1)) > /sys/class/backlight/sony/brightness || /bin/true
  18. }
  19.  
  20. increase_volume() {
  21. /usr/bin/amixer -q -c 0 set PCM 2dB
  22. echo `amixer -c 0 get PCM | awk -F'[' '/\[[0-9] %\]/{print int($2);exit}'` | /usr/bin/osd_cat -p bottom -A center -c red -d 1 -f "-*-courier-*-r-*-*-24-*-*-*-*-*"
  23. }
  24.  
  25. decrease_volume() {
  26. /usr/bin/amixer -q -c 0 set PCM 2dB-
  27. }
  28.  
  29. toggle_mute() {
  30. /usr/bin/amixer -q -c 0 set Master toggle
  31. if [ "$(/usr/bin/amixer get Master | grep Left: | awk -F" " '{print $7}')" = "[off]" ]; then
  32. echo "MUTE" | /usr/bin/osd_cat -p bottom -A center -c red -d 1 -f "-*-courier-*-r-*-*-24-*-*-*-*-*"
  33. else
  34. echo "UNMUTE" | /usr/bin/osd_cat -p bottom -A center -c red -d 1 -f "-*-courier-*-r-*-*-24-*-*-*-*-*"
  35. fi
  36. }
  37.  
  38. suspend2ram() {
  39. hibernate-ram
  40. }
  41.  
  42. case "$4" in
  43.  
  44. "00000011")
  45. increase_brightness
  46. ;;
  47.  
  48. "00000010")
  49. decrease_brightness
  50. ;;
  51.  
  52. "0000000f")
  53. increase_volume
  54. ;;
  55.  
  56. "0000000e")
  57. decrease_volume
  58. ;;
  59.  
  60. "0000000d")
  61. toggle_mute
  62. ;;
  63.  
  64. "00000017")
  65. suspend2ram
  66. ;;
  67.  
  68.  
  69. "00000029")
  70. # fn-key alone
  71. ;;
  72.  
  73. "0000003b")
  74. # key release
  75. ;;
  76.  
  77. *)
  78. echo "unmanaged key ($@)";
  79. exit 1;
  80. esac
  81.