Это можно изменить в реестре - вот документ от Microsoft, который объясняет все это в деталях.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AdaptiveDisplayBrightness
содержит значения конфигурации, связанные с датчиком освещенности.
ALRPoints
- контролирует, какую яркость использовать в зависимости от значения, возвращаемого датчиком, в этом формате: 00
+ список точек в формате [zero-padded hex value of the desired percentage of the baseline brightness] + [zero-padded hex value of the light detected by the sensor]
- я получил много проб и ошибок, вот документация Microsoft об этом значении и вот мое собственное значение ALRPoints, которое работает.
IlluminanceChangeSensitivity
- управляет чувствительностью датчика к изменениям освещенности, например, значение 20 означает, что окружающий свет должен измениться на 20 люкс, чтобы изменить яркость экрана.
DisplayResponseInterval
- контролирует, сколько времени службе следует ожидать, прежде чем снова опросить датчик (в миллисекундах, минимальное значение равно 100), например, значение 5000 означает, что яркость может изменяться только каждые 5 секунд.
Примечание: при редактировании этих значений обязательно выберите Base decimal
в Regedit.
Я рекомендую использовать инструмент диагностики датчиков, он доступен в тестовом пакете WDK (может потребоваться сначала установить реальный WDK), после установки он находится в C:\Program Files (x86)\Windows Kits\8.1\Tools\x86\sensordiagnostictool.exe
и это выглядит так:
Интересные значения:
SB
(в самом верху, здесь он на 100%), он показывает яркость, установленную сервисом Adaptive Brightness.
SENSOR_PROPERTY_LIGHT_RESPONSE_CURVE
- это кривая ALR по умолчанию в формате [lux, percentage of the baseline brightness]
(противоположный формат реестра, то есть brightness, lux
) - если вы хотите создать собственную кривую ALR, вам нужно переопределить каждая единственная точка этой кривой по умолчанию (это единственный способ, которым я заставил это работать).
SENSOR_DATA_TYPE_LIGHT_LUX
- это яркость, обнаруженная датчиком, я надеюсь, что в вашей системе это действительно реальное значение освещенности в люксах, к сожалению, для меня это всего лишь значение между 0 и 255, 0 означает почти полную темноту, а 255 означает, что фонарь направлен на датчик ,
После того, как вы установили нужные значения, вам нужно перезапустить службу Adaptive brightness
чтобы изменения вступили в силу.
Вот ветка о XDA-Developers, которая предоставляет измененные кривые яркости для планшетов Surface, вы можете захотеть взглянуть на файлы реестра (кстати, они отлично работают в Windows 7).