Есть ли способ узнать текущий уровень яркости ЖК-дисплея MacBook?
-
23-08-2019 - |
Вопрос
Идея заключалась в том, что как только яркость достигнет определенного уровня, можно будет переключиться на другую визуальную схему, чтобы обеспечить лучшую видимость.Кроме того, если бы это было что-то вроде слушателя, это было бы еще лучше, но я возьму то, что смогу.
Решение 2
epatel был довольно близок, мне просто нужно было изменить ключевое слово AppleGraphicsControlBacklight на что-то другое, чтобы оно работало на моем MacBook, так что я предполагаю, что это может измениться между версиями OSX и/или версиями MacBook.
Я собрал короткий Ruby-скрипт для вывода небольшого визуального индикатора в командной строке.
# 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 "]"
Другие советы
Я считаю, что это можно найти с помощью 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 сможет собрать образец...
Я не разбираюсь в Mac, но существует ли /proc в файловой системе?Возможно, вы захотите просмотреть этот каталог виртуальных файлов, если он существует.