Есть ли способ узнать текущий уровень яркости ЖК-дисплея MacBook? - PullRequest
1 голос
/ 14 февраля 2009

Идея состоит в том, что, как только яркость достигает определенного уровня, можно переключиться на другую визуальную схему, чтобы обеспечить большую видимость. Кроме того, если бы это была какая-то вещь типа слушателя, это было бы еще лучше, но я возьму то, что смогу получить.

Ответы [ 3 ]

3 голосов
/ 14 февраля 2009

Полагаю, можно было посмотреть с помощью IOKit. Выполнение команды ioreg в терминале, как показано ниже, дает две строки, где видно значение яркости.

% ioreg -c AppleGraphicsControlBacklight | grep brightness

| | |     "IODisplayParameters" = {"brightness"={"min"=0,"value"=408,"max"=1024},"commit"={"reg"=0}}
| |   |     "IODisplayParameters" = {"brightness"={"min"=0,"value"=408,"max"=1024},"commit"={"reg"=0}}

Может быть, кто-то с достаточным знанием IOKit мог бы собрать образец ...

2 голосов
/ 15 февраля 2009

epatel был довольно близок, мне просто пришлось изменить ключевое слово AppleGraphicsControlBacklight на что-то другое, чтобы оно работало на моем macbook, поэтому я предполагаю, что это может измениться между версиями OSX и / или версиями macbook.

Я собрал короткий рубиновый скрипт, чтобы распечатать небольшой визуальный индикатор в командной строке.

# grab the string containing the values
brite_string = `ioreg -c AppleBacklightDisplay | grep brightness`

# build a regex to match those vals
brite_regex  = /"brightness"=\{"min"=([0-9]{1,3}),"value"=([0-9]{1,3}),"max"=([0-9]{1,3})/

# match them
match_data = brite_regex.match(brite_string)

# extract the values from the match
min = match_data[1].to_i
val = match_data[2].to_i
max = match_data[3].to_i

# print them out nice
puts "Current Brightness"
print "["

max.times do  |i|
  print i > val ? " " : "*"
end

puts "]"
0 голосов
/ 14 февраля 2009

Я не макинтош, но существует ли / proc в файловой системе? Возможно, вы захотите заглянуть в этот каталог виртуальных файлов, если он существует.

...