Надеюсь, решение проблемы будет кому-нибудь полезно.
Изначально клавиши "Monitor Brightness Up/Down" назначены на действие "Увеличить/Уменьшить яркость экрана".
Регулировать яркость можно также записью в файл /sys/class/backlight/acpi_video0/brightness значения от 0 до MAX_BRIGHTNESS, где MAX_BRIGHTNESS (обозначил условно) - значение, записанное в /sys/class/backlight/acpi_video0/max_brightness . (в каталоге /sys/class/backlight/ несколько папок: возможно, вам нужна другая)
Проблема в том, что у моего ноутбука MAX_BRIGHTNESS = 100. А нажатие на клавишу меняет яркость только на 1. Предлагаю shell-скрипт, который меняет яркость, записанную в /sys/class/backlight/acpi_video0/brightness на заданное значение (прибавляя его):
Code: Select all
#!/bin/bash
#Usage: ./brightness.sh /sys/class/backlight/_folder_/ +5
declare -i BRIGHTNESS
BRIGHTNESS=`cat $1/brightness`
declare -i MAX_BRIGHTNESS
MAX_BRIGHTNESS=`cat $1/max_brightness`
declare -i NEW_BRIGHTNESS
NEW_BRIGHTNESS=$BRIGHTNESS+$2
#echo $NEW_BRIGHTNESS
if [[(($NEW_BRIGHTNESS -lt 0))]]; then
NEW_BRIGHTNESS=0
fi
if [[(($NEW_BRIGHTNESS -gt $MAX_BRIGHTNESS))]]; then
NEW_BRIGHTNESS=$MAX_BRIGHTNESS
fi
#echo $NEW_BRIGHTNESS
echo $NEW_BRIGHTNESS > $1/brightness
Code: Select all
./brightness.sh /sys/class/backlight/acpi_video0/ +9
Пришлось изменить права доступа к файлу /sys/class/backlight/acpi_video0/brightness (остальные - чтение и запись).
Если есть нормальное решение - буду рад узнать о нём.
Всем спасибо!