Automatisierungstool für bestimmte Lenovo ThinkPad-Laptops (z. B. X1c, X1e, P1) zur Steuerung der Tastaturhintergrundbeleuchtung und der LCD-Bildschirmhelligkeit (Hintergrundbeleuchtung) bei Windows-Installationen mithilfe einer Taskleistenanwendung. Diese Laptops verfügen für beides nicht über einen automatischen Kontrollmechanismus. Zusätzliche Verhaltensweisen, die von diesem Programm hinzugefügt werden, ahmen einige Automatisierungen nach, die auf anderen Geräten zu finden sind. Die Steuerung der Tastatur-Hintergrundbeleuchtung wird durch eine Zeitüberschreitung der Benutzeraktivität ausgelöst, und die Steuerung der Bildschirm-Hintergrundbeleuchtung misst mithilfe der integrierten Kamera die Umgebungslichtstärke.
Dieses Projekt stellt eine Hintergrundanwendung für die Windows-Taskleiste bereit, die die Steuerung der Tastatur und der Hintergrundbeleuchtung des LCD-Bildschirms durch Software erweitert. Einstellungen, die diese beiden Funktionen unterstützen, können über das GUI-Kontextmenü (Rechtsklick) in der Taskleiste konfiguriert werden. Sie können einzeln deaktiviert oder aktiviert werden.
Die Hintergrundbeleuchtung der Tastatur wird automatisch beleuchtet, wenn der Benutzer mit der integrierten Tastatur-/Maus-Hardware interagiert. Nach einem einstellbaren Inaktivitäts-Timeout wird die Hintergrundbeleuchtung abgedunkelt. Die Helligkeitsstufe der Tastatur ändert sich zusammen mit der vorhandenen Tastenkombination „Fn+Leertaste“ für die Hintergrundbeleuchtungsstufe. Die Einstellungen bleiben über alle Stromversorgungsereignisse hinweg (Ruhezustand/Aufwachmodus, Display ein/aus) erhalten, um ein berührungsloses Erlebnis zu ermöglichen, im Gegensatz zum Standardverhalten ab Werk, bei dem die Hintergrundbeleuchtung über alle Stromversorgungsereignisse hinweg zurückgesetzt wird.
Die Hintergrundbeleuchtung des Bildschirms wird automatisch beleuchtet, indem die integrierte Kamera einen Umgebungslichtsensor nachahmt. Es wird ein einfacher Schnappschuss mit niedriger Auflösung erstellt und die durchschnittliche Intensität berechnet, um sie als Proxy für die Umgebungslichtstärke zu verwenden. Der Pegel wird mithilfe einer konfigurierbaren Kalibrierungskurve einem Prozentsatz der Bildschirmhelligkeit zugeordnet. Der Abtast- und Aktualisierungsprozess wird durch ein Stromereignis (Ruhezustand/Wachmodus, Anzeige ein/aus) oder durch eine Zeitüberschreitung der Benutzeraktivität auf der integrierten Tastatur/Maus ausgelöst. Dadurch bleibt die Hintergrundbeleuchtung bei der ersten Verwendung betriebsbereit. Optional kann ein periodisches Abtastintervall angegeben werden. Dies kann jedoch aufgrund der in der Kamera integrierten Aktivitäts-LED ablenken. Diese Anwendung prüft die Kamera nur bei vorhersehbaren Ereignissen (Stromversorgungsereignisse, Zeitüberschreitung der Benutzeraktivität), um die Ablenkung zu minimieren. Ein konfigurierbarer Hotkey (Standard: Alt-Leertaste) kann auch eine Aktualisierung der Bildschirmhintergrundbeleuchtung auslösen, wenn der Benutzer zu anderen Lichtverhältnissen wechselt.
Gehen Sie zum Abschnitt „Releases“ und laden Sie das neueste Windows-Installationsprogramm herunter. Den Startanwendungen wird „Auto Backlight for ThinkPad“ hinzugefügt, um automatisch mit der Benutzeranmeldung zu beginnen. Es kann einfach über „Programme hinzufügen oder entfernen“ oder ähnliche Methoden deinstalliert werden.
Wenn Sie Lenovo Bildschirmanzeige-Popups deaktivieren möchten, gibt es in den Einstellungen unter Windows 10 ein Kontrollkästchen „Bildschirmanzeige aktivieren“. Greifen Sie darauf über Einstellungen -> System -> Anzeige -> Erweiterte Anzeigeeinstellungen zu. >Eigenschaften des Anzeigeadapters für Anzeige 1 -> Bildschirmkonfigurationen. Siehe Bild.
Das Projekt wird aus der Visual Studio 2019 C# WPF-Projektvorlage und der Windows Setup-Projektvorlage erstellt, um das Installationsprogramm zu erstellen. C# auf dem Microsoft .NET Framework wurde für hochkompatiblen Code ohne externe Abhängigkeiten ausgewählt, wobei nur das installierte Framework verwendet wurde. Die Kommunikation mit der Tastatur erfolgt über Windows-IO-Aufrufe an IbmPmDrv (Lenovo/IBM-Energieverwaltungstreiber), der auf diesen Laptops verfügbar sein sollte. Die Kameraschnittstelle erfolgt über Accord.NET-Bildverarbeitungsbibliotheken von Drittanbietern, die unter der Haube Microsoft DirectShow verwenden.
Die Anwendung verbindet sich mit verschiedenen Windows Win32-Energieverwaltungsereignissen wie Suspend, Resume, Display On/Off, Lid Close/Open, um eine spezielle Behandlung des Hintergrundbeleuchtungsstatus rund um diese Ereignisse auszulösen. Diese Ereignisse führen zu einer Aktualisierung der Tastatur-Hintergrundbeleuchtung und/oder der Bildschirm-Hintergrundbeleuchtung. Windows Win32 Raw Input wird verwendet, um die App basierend auf der Benutzeraktivität für bestimmte Hardwaregeräte (integrierte Laptop-Tastatur und -Maus) zu benachrichtigen. Diese Aktivitätsereignisse lösen das Aufleuchten der Hintergrundbeleuchtung aus, die anschließend nach einer Zeitüberschreitung zurückgesetzt wird. Die häufigen Eingabeereignisse werden schnell stummgeschaltet, um die Batterielebensdauer (CPU-Auslastung) zu schonen, wenn sie nicht benötigt werden. Die CPU-Auslastung wurde während der App-Entwicklung getestet, um sie als Hintergrundanwendung minimal zu halten.
Die Visual Studio-Lösung enthält sowohl ein C#-Projekt (die Anwendung selbst) als auch ein Windows Setup-Projekt (das Installationsprogramm). Solange die Kernabhängigkeit von Microsoft .NET Framework erfüllt ist, sollten alle sofort mit Visual Studio 2019 erstellen. Dieses Projekt ist einfach gehalten und verwendet größtenteils Standard-/Standardeinstellungen. Ein verwendeter Trick ist die Umleitung externer DLL-Referenzen. Diese DLL-Dateien (aus den enthaltenen NuGet-Paketen) würden normalerweise neben der Anwendung im Datei-Explorer angezeigt, die meisten wurden jedoch als Teil des Erstellungsprozesses in die ausführbare Datei eingebettet.
Dieses Projekt ist unter der Apache-2.0-Lizenz lizenziert. Den vollständigen Text finden Sie in der LIZENZ-Datei. Namensnennungen finden Sie in der NOTICE-Datei.