Yellow Rabbit

Не свершилось

Клавиши регулировки яркости экрана - ноутбук Acer C720, BSD

Второй способ заключается в создании специального устройства, чтение из которого возвращает текущий уровень подсветки, а запись в которое изменяет этот уровень. И такое устройство было создано. Это потребовало гораздо крупных вмешательств в код, включая изменение нескольких Makefile, файла системных настроек (sys/conf/options), добавление каталога с исходными файлами устройства.

Устройство работало, но это нисколько не помогло сторонним утилитам увидеть наличие регулировки подсветки. Дело в том, что для этих утилит критичным оказалось наличие каталога /sys/class/backlight/something, в котором располагались специальные файлы actual_brightness, brightness, max_brightness, subsystem/, uevent, bl_power, device/, power/ и тому подобные.

Это так называемая Линукс-sysfs, которой нет (или я не нашёл) в DragonFly BSD. Создавать её аналог для регулирования уровня подсветки… пожалуй overkill. Так что вместо этого я сделал:

Привязка клавиш регулировки подсветки

Первый скрипт brightness-inc.sh увеличивает яркость:


#!/bin/sh
LVL=`/sbin/sysctl -n hw.backlight_level`
/sbin/sysctl hw.backlight_level=$(( ${LVL} + 50 ))

Второй скрипт brightness-dec.sh уменьшает:


#!/bin/sh
LVL=`/sbin/sysctl -n hw.backlight_level`
/sbin/sysctl hw.backlight_level=$(( ${LVL} - 50 ))

В файле .xbindkeysrc указываем привязку скриптов к клавишам:


# brightness
"brightness-dec.sh"
  F6

"brightness-inc.sh"
  F7