시스템 트레이 응용 프로그램을 사용하여 Windows 설치 시 키보드 백라이트 및 LCD 화면 밝기(백라이트)를 제어하는 특정 Lenovo ThinkPad 노트북(예: X1c, X1e, P1)용 자동화 도구입니다. 이 노트북에는 자동 제어 메커니즘이 제공되지 않습니다. 이 프로그램에 의해 추가된 추가 동작은 다른 장치에서 발견되는 일부 자동화를 모방합니다. 키보드 백라이트 제어는 사용자 활동 시간 초과에 의해 트리거되고 화면 백라이트 제어는 통합 카메라를 사용하여 주변 조명 수준을 샘플링합니다.
이 프로젝트는 소프트웨어를 통해 키보드 및 LCD 화면 백라이트 제어 기능을 강화하는 배경 Windows 시스템 트레이 애플리케이션을 제공합니다. 이 두 기능을 지원하는 설정은 시스템 트레이의 GUI 컨텍스트 메뉴(마우스 오른쪽 버튼 클릭)를 통해 구성할 수 있습니다. 개별적으로 비활성화하거나 활성화할 수 있습니다.
사용자가 내장 키보드/마우스 하드웨어와 상호 작용할 때마다 키보드 백라이트가 자동으로 켜집니다. 조정 가능한 비활성 시간 초과 후에는 백라이트가 어두워집니다. 백라이트 수준에 대한 기존 "Fn+Space" 키보드 단축키에 따라 키보드 밝기 수준이 변경됩니다. 전원 이벤트에서 백라이트를 재설정하는 기본 공장 동작과 달리 손을 떼는 경험을 위해 전원 이벤트(절전/깨우기, 디스플레이 켜기/끄기) 전반에 걸쳐 설정이 유지됩니다.
화면 백라이트는 주변 광 센서를 모방하기 위해 통합 카메라를 샘플링하여 자동으로 조명됩니다. 기본 저해상도 스냅샷이 촬영되고 평균 강도 수준이 계산되어 주변광 수준의 프록시로 사용됩니다. 수준은 구성 가능한 보정 곡선을 사용하여 화면 밝기 비율에 매핑됩니다. 샘플링 및 업데이트 프로세스는 전원 이벤트(절전/깨우기, 디스플레이 켜기/끄기) 또는 내장 키보드/마우스의 사용자 활동 시간 초과에 의해 트리거됩니다. 이렇게 하면 처음 사용할 때 백라이트가 준비된 상태로 유지됩니다. 선택적으로 주기적인 샘플링 간격을 지정할 수 있습니다. 그러나 카메라에 내장된 활동 LED로 인해 주의가 산만해질 수 있습니다. 이 애플리케이션은 방해를 최소화하기 위해 예측 가능한 이벤트(전원 이벤트, 사용자 활동 시간 초과)에서만 카메라를 샘플링합니다. 사용자가 다른 조명 조건으로 이동할 때 구성 가능한 단축키(기본값: Alt-Space)를 사용하여 화면 백라이트 새로 고침을 실행할 수도 있습니다.
릴리스 섹션으로 이동하여 최신 Windows 설치 프로그램을 다운로드하세요. 사용자 로그인 시 자동으로 시작되도록 시작 응용 프로그램에 "Auto Backlight for ThinkPad"가 추가됩니다. "프로그램 추가/제거" 또는 기타 유사한 방법을 통해 쉽게 제거할 수 있습니다.
Lenovo 화면 디스플레이 팝업을 비활성화하려면 Windows 10의 설정에 "화면 디스플레이 활성화" 확인란이 있습니다. 설정-->시스템-->디스플레이-->고급 디스플레이 설정--을 통해 액세스하십시오. >디스플레이 1-->화면 구성에 대한 디스플레이 어댑터 속성. 이미지를 참조하세요.
이 프로젝트는 Visual Studio 2019 C# WPF 프로젝트 템플릿과 Windows 설치 프로그램 프로젝트 템플릿에서 빌드되어 설치 관리자를 만듭니다. 설치된 프레임워크만 사용하여 외부 종속성이 없는 고호환성 코드를 위해 Microsoft .NET 프레임워크의 C#이 선택되었습니다. 키보드와의 통신은 이러한 랩톱에서 사용할 수 있는 IbmPmDrv(Lenovo/IBM 전원 관리 드라이버)에 대한 Windows IO 호출을 통해 수행됩니다. 카메라 인터페이스는 내부적으로 Microsoft DirectShow를 사용하는 타사 Accord.NET 이미지 처리 라이브러리를 통해 이루어집니다.
애플리케이션은 일시 중지, 재개, 디스플레이 켜기/끄기, 덮개 닫기/열기와 같은 다양한 Windows Win32 전원 관리 이벤트에 연결되어 이러한 이벤트 주변의 백라이트 상태에 대한 특수 처리를 트리거합니다. 이러한 이벤트로 인해 키보드 백라이트 및/또는 화면 백라이트가 업데이트됩니다. Windows Win32 원시 입력은 특정 하드웨어 장치(노트북 내장 키보드 및 마우스)에 대한 사용자 활동을 기반으로 앱에 알리는 데 사용됩니다. 이러한 활동 이벤트는 백라이트 조명을 트리거하며 시간 초과 후 재설정됩니다. 자주 발생하는 입력 이벤트는 필요하지 않을 때 배터리 수명(CPU 사용량)을 보존하기 위해 빠르게 음소거됩니다. 백그라운드 애플리케이션으로 CPU 사용량을 최소화하기 위해 앱 개발 중에 CPU 사용량을 테스트했습니다.
Visual Studio 솔루션에는 C# 프로젝트(애플리케이션 자체)와 Windows 설치 프로젝트(설치 관리자)가 모두 포함되어 있습니다. Microsoft .NET Framework에서 핵심 종속성이 충족되는 한 모두 Visual Studio 2019에서 기본적으로 빌드되어야 합니다. 이 프로젝트는 단순하게 유지되며 대부분 표준/기본 설정으로 유지됩니다. 사용되는 한 가지 트릭은 외부 dll 참조를 리디렉션하는 것입니다. 포함된 NuGet 패키지의 이러한 dll 파일은 일반적으로 파일 탐색기의 애플리케이션 옆에 표시되지만 대부분은 빌드 프로세스의 일부로 실행 파일 내부에 포함되었습니다.
이 프로젝트는 Apache-2.0 라이선스에 따라 라이선스가 부여됩니다. 전문은 LICENSE 파일을 참조하세요. 속성에 대해서는 NOTICE 파일을 참조하세요.