LINUX.ORG.RU

Запустите acpi_listen, понажимайте «горячие» клавиши, посмотрите их коды.
В приведённые ниже конфиги в строки event=... вписать свои значения.

Конфиг для увеличения яркости подсветки (/etc/acpi/events/brightnessupconf):

# Configuration to increase the display brightness level
#
event=video/brightnessup.*
action=/etc/acpi/actions/brightness.sh inc 10
Конфиг для уменьшения яркости подсветки (/etc/acpi/events/brightnessdownconf):
# Configuration to decrease the display brightness level
#
event=video/brightnessdown.*
action=/etc/acpi/actions/brightness.sh dec 10
Конфиг для отключения / включения подсветки (/etc/acpi/events/brightnesstoggleconf):
# Configuration to toggle the display backlight
#
event=button/prog1.*
action=/etc/acpi/actions/brightness.sh toggle

А вот непосредственно скрипт для увеличения яркости (/etc/acpi/actions/brightness.sh), ему нужно сделать chmod +x и присвоить владельцу root:

#!/bin/bash
#
# Управление яркостью экрана через /sbin/setpci
#
# brightness [inc|dec|set|toggle] <значение> (для toggle значение не нужно)
#
# snefjyent 25/12/2011 
#      edit 16/02/2012
#
# Путь к файлу, где будет сохраняться яркость при отключении подсветки
data_file=/run/.brme_db
# Путь к setpci (Для поиска использовать "which setpci")
path_setpci=/sbin/setpci
# Адрес
device=01:00.0
# Сохраняем второй введенный аргумент
amount=$2

# Плавная установка яркости
SET ()
{
cbr=$br
if (( var >= br )) 
    then
        while test "$cbr" != "$var"
        do
            ((cbr++))
            $path_setpci -s $device F4.B=$cbr
        done
    else
        while test "$cbr" != "$var"
        do
            ((cbr--))
            $path_setpci -s $device F4.B=$cbr
        done
fi
}
# Резкая установка яркости
SETATONCE ()
{
    $path_setpci -s $device F4.B=$var
}
# Проверяем, допустимо ли значение при ув. яркости, если нет - берем максимально возможное
INC_TEST ()
{
 let "ovar=98-$br"
 if [ "$amount" -gt "$ovar" ];
  then
   var=99
 fi
}

# Проверяем, допустимо ли значение при ум. яркости, если нет - берем минимально возможное
DEC_TEST ()
{
 let "ovar=$br-10"
 if [ "$amount" -gt "$ovar" ];
  then
   var=10
 fi
}

# Берем яркость экрана
var=`$path_setpci -s $device F4.B`

# Проверяем, является ли яркость числом. Необходимо, т.к. после
# автоотключения подсветки яркость выставляется на "0d".
if [ "$var" -eq "$var" ] 2> /dev/null
then
    echo number >/dev/null
else
    var=99
fi

# Сохраняем для тестов (INC/DEC_TEST)
br=$var

# Выбираем действие по 1 агрументу
case "$1" in

# Увеличения яркости
	inc)
let "var=$var+$amount"
INC_TEST
SETATONCE
;;

# Уменьшение яркости
	dec)
let "var=$var-$amount"
DEC_TEST
SETATONCE
;;

# Установка яркости
	set)
let "var=$amount"
SET
;;

# Переключение подсветки
	toggle)
if [ "$var" -eq "00" ];
 then
  var=`cat $data_file`
 SETATONCE
 else
  echo $var > $data_file
  var=0
  SETATONCE
fi
;;

esac

exit 0

Потом нужно рестартануть acpid

Для остальных «горячих» клавиш соорудить подобные «костыли».

За подробностями ― к тов. snefjyent'у. А.. его же забанили! Тогда к тов. Debasher'у.

carasin ★★★★★
()

Не в курсе, у меня для samsung n127 есть специальная утилита, samsung-toolc. Но когда я о её существовании ещё не знал, я тупо поставил всё на хоткеи.

По вышеприведённому коду ничего сказать не могу, повторюсь, юзал другие способы.

Debasher ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.