Ho un notebook che non ha una gestione ACPI ottimale, è un HP 6710s, e quindi ho configurato i vari eventi acpi per svolgere determinate azioni. Ci sono però alcuni problemi, non so se derivati da una mia cattiva conoscenza della programmazione BASH o dal sistema.
Se io abbino un evento alla diminuzione di luminosità per esempio è tutto ok. Clicco il tasto e mi diminuisce la luminosità. Ma questo vale solo per la prima volta. Se io voglio diminuirlo ancora non va.
Se invece dopo aumento tutto ok.
In pratica mi prende l'evento una sola volta.
Il mio dubbio è questo: è un problema di sistema che non prende in considerazione due eventi uguali uno dopo l'altro (e se sì come posso rimediare?) oppure deriva dal fatto che all'inizio leggo il valore della luminosità e quindi lui valuta sempre quello?
Ho provato a mettere tutto in acpi_handler.sh, a fare vari events separati, a richiamare file esterni, a fare una diminuizione "matematica" del valore ed a mettere valori fissi. Ma il comportamento non cambia. Per questo pensato ad un problema di "doppioni"
Attualmente ho questo in acpi_handler.sh
Codice: Seleziona tutto
...
case "$3" in
00000087)
/etc/acpi/actions/brightness.sh dim
;;
00000086)
/etc/acpi/actions/brightness.sh add
;;
esac
...
Codice: Seleziona tutto
#!/bin/sh
FILE_BRIGHTNESS="/sys/devices/virtual/backlight/acpi_video0/brightness"
dim_lum() {
BRIGHTNESS=$(cat $FILE_BRIGHTNESS)
case $BRIGHTNESS in
100)
echo 82 > $FILE_BRIGHTNESS
;;
82)
echo 71 > $FILE_BRIGHTNESS
;;
27)
logger "ACPI Brightness: Raggiunto livello minimo"
;;
*)
logger "Nessun valore trovato"
;;
esac
}
add_lum() {
BRIGHTNESS=$(cat $FILE_BRIGHTNESS)
case $BRIGHTNESS in
100)
logger "ACPI Brightness: Raggiunto livello massimo"
;;
82)
echo 100 > $FILE_BRIGHTNESS
;;
71)
echo 82 > $FILE_BRIGHTNESS
;;
*)
logger "Nessun valore trovato"
;;
esac
}
case "$1" in
dim)
dim_lum
;;
add)
add_lum
;;
*)
logger "Errore Brightness"
;;
esac
Tra 82 e 71 si cono gli altri livelli disponibili
Spero di essermi spiegato

