Settare correttamente le Hotkey dei Sony - Backlight
ieri sera mentre scrivevo una parte della tesi mi sono accorto che i tasti FN+F5 e FN+F6 non funzionavano correttamente , nel senso che non riuscivo a a settare la luminosità dello schermo.
Voglio precisare che il modulo sony_acpi è correttamento caricato all'avvio ed ho un Sony VGN-A195EP ( è preistorico, ma me ne sono affezionato
Per questo motivo vi spiego come ho risolto sperando che sia di aiuto.
Per prima cosa dobbiamo vedere a che interrupt ACPI corrispondono la digitazione delle due hotkey ( FN+F5 e FN+F6 ) , per fare questo ci viene in aiuto
Codice: Seleziona tutto
acpi_listenCodice: Seleziona tutto
$ acpi_listen
sony/hotkey SPIC 00000001 00000010
sony/hotkey SPIC 00000001 0000003bCodice: Seleziona tutto
$ acpi_listen
sony/hotkey SPIC 00000001 00000011
sony/hotkey SPIC 00000001 0000003bOra non ci resta altro che settare l'evento corrispondente associato alla digitalizzazione dei seguenti tasti, ma prima di fare ciò vediamo dove sono settati i valori di luminosità del nostro schermo
Codice: Seleziona tutto
$ cat /sys/class/backlight/sony/brightness
1per cui con un semplice
Codice: Seleziona tutto
$ echo 5 > /sys/class/backlight/sony/brightnessora settiamo l'evento che gestisce la pressone delle hotkey, e per fare ciò ci spostiamoci in /etc/acpi ed editiamo un semplice file in questo modo ( io l'ho chiamato xbacklight.sh )
Codice: Seleziona tutto
#!/bin/sh
brightness=`cat /sys/class/backlight/sony/brightness`
echo ${brightness}
if [ "${1}" = "up" ]; then
let "brightness+=1"
echo ${brightness} > /sys/class/backlight/sony/brightness
else
let "brightness-=1"
echo ${brightness} > /sys/class/backlight/sony/brightness
fiSettiamo i permessi di esecuzione al file
Codice: Seleziona tutto
# chmod +x /etc/acpi/xbacklight.shCodice: Seleziona tutto
event=.*
action=/etc/acpi/acpi_handler.sh %eOra non ci resta altro che andare in /etc/acpi ed editare "acpi_handler.sh" e richiamare lo script da noi creato "xbacklight.sh" , passando come parametro up se abbiamo premuto FN+F6 o qualsiasi altra stringa se abbiamo rpemuto FN+F5 ( io ho usato down
Codice: Seleziona tutto
#if [ $# != 1 ]; then
#exit 1
#fi
#set $*
echo "$1"
echo "$2"
echo "$3"
echo "$4"
case "$2" in
SPIC)
if [ "$4" = "00000011" ]; then
echo "up $4"
/etc/acpi/xbacklight.sh up
elif [ "$4" = "00000010" ]; then
echo "down $4"
/etc/acpi/xbacklight.sh down
fi
;;
*)
;;Codice: Seleziona tutto
# . /etc/rc.d/rc.acpid restart
Starting ACPI daemon: /usr/sbin/acpidFlavio