Инструмент автоматизации для некоторых ноутбуков Lenovo ThinkPad (например, X1c, X1e, P1) для управления подсветкой клавиатуры и яркостью (подсветкой) ЖК-экрана при установке Windows с помощью приложения на панели задач. Эти ноутбуки не оснащены механизмом автоматического управления ни тем, ни другим. Дополнительные варианты поведения, добавленные этой программой, имитируют некоторые механизмы автоматизации, используемые на других устройствах. Управление подсветкой клавиатуры активируется по тайм-ауту активности пользователя, а управление подсветкой экрана измеряет уровень окружающего освещения с помощью встроенной камеры.
Этот проект предоставляет фоновое приложение на панели задач Windows, которое дополняет управление подсветкой клавиатуры и ЖК-экрана с помощью программного обеспечения. Параметры, поддерживающие эти две функции, можно настроить через контекстное меню графического интерфейса (щелкните правой кнопкой мыши) на панели задач. Их можно индивидуально отключить или включить.
Подсветка клавиатуры включается автоматически всякий раз, когда пользователь взаимодействует со встроенной клавиатурой/мышью. По истечении регулируемого времени бездействия подсветка гаснет. Уровень яркости клавиатуры изменяется вместе с существующим сочетанием клавиш «Fn+Пробел» для уровня подсветки. Настройки сохраняются при всех событиях питания (сон/пробуждение, включение/выключение дисплея) для удобства работы, в отличие от стандартного заводского поведения, которое сбрасывает подсветку при событиях питания.
Подсветка экрана автоматически включается с помощью встроенной камеры, имитируя работу датчика внешней освещенности. Делается снимок с базовым низким разрешением и вычисляется средний уровень интенсивности, который используется в качестве показателя уровня окружающего освещения. Уровень сопоставляется с процентом яркости экрана с помощью настраиваемой калибровочной кривой. Процесс выборки и обновления будет инициирован событием питания (сон/пробуждение, включение/выключение дисплея) или тайм-аутом активности пользователя на встроенной клавиатуре/мыши. Благодаря этому подсветка будет готова к первому использованию. При необходимости можно указать периодический интервал выборки. Однако это может отвлекать из-за встроенного в камеру светодиода активности. Это приложение будет проверять камеру только при предсказуемых событиях (событиях питания, тайм-ауте активности пользователя), чтобы свести к минимуму отвлечение внимания. Настраиваемая горячая клавиша (по умолчанию: Alt-Space) также может запускать обновление подсветки экрана, когда пользователь переходит в другие условия освещения.
Перейдите в раздел выпусков и загрузите последнюю версию установщика Windows. Он добавит «Автоматическую подсветку для ThinkPad» к запускаемым приложениям, которые будут автоматически запускаться при входе пользователя в систему. Его можно легко удалить с помощью «Установки и удаления программ» или других подобных методов.
Если вы хотите отключить всплывающие окна Lenovo на экране, в настройках Windows 10 есть флажок «Включить отображение на экране». Доступ к нему можно получить через «Настройки» -> «Система» -> «Дисплей» -> «Дополнительные настройки дисплея». >Свойства видеоадаптера для дисплея 1 -->Конфигурации экрана. См. изображение.
Проект построен на основе шаблона проекта Visual Studio 2019 C# WPF и шаблона проекта установки Windows для создания установщика. C# на платформе Microsoft .NET был выбран из-за высокой совместимости кода без внешних зависимостей и использования только установленной платформы. Связь с клавиатурой осуществляется посредством вызовов Windows IO к IbmPmDrv (драйвер управления питанием Lenovo/IBM), который должен быть доступен на этих ноутбуках. Интерфейс камеры осуществляется через сторонние библиотеки обработки изображений Accord.NET, внутри которых используется Microsoft DirectShow.
Приложение подключается к различным событиям управления питанием Windows Win32, таким как приостановка, возобновление, включение/выключение дисплея, закрытие/открытие крышки, чтобы вызвать специальную обработку состояния подсветки вокруг этих событий. Эти события вызывают обновление подсветки клавиатуры и/или экрана. Ввод Windows Win32 Raw используется для уведомления приложения на основе активности пользователя на определенных аппаратных устройствах (встроенная клавиатура и мышь ноутбука). Эти события активности вызывают включение подсветки, которая впоследствии сбрасывается по истечении времени ожидания. Частые входные события быстро отключаются, чтобы продлить срок службы батареи (загрузку процессора), когда они не нужны. Использование ЦП было протестировано во время разработки приложения, чтобы свести его к минимуму в фоновом режиме.
Решение Visual Studio содержит как проект C# (само приложение), так и проект установки Windows (установщик). Пока основная зависимость соблюдается в Microsoft .NET Framework, все должно быть готово к использованию в Visual Studio 2019. Этот проект остается простым и в основном имеет стандартные настройки/настройки по умолчанию. Один из используемых трюков — перенаправление внешних ссылок на dll. Эти DLL-файлы (из включенных пакетов NuGet) обычно отображаются рядом с приложением в проводнике, но большинство из них были встроены в исполняемый файл как часть процесса сборки.
Этот проект распространяется по лицензии Apache-2.0. Полный текст см. в файле ЛИЦЕНЗИИ. См. файл NOTICE для указания авторства.