特定の Lenovo ThinkPad ラップトップ (X1c、X1e、P1 など) 用の自動化ツール。システム トレイ アプリケーションを使用して Windows インストールでキーボードのバックライトと LCD 画面の明るさ (バックライト) を制御します。これらのラップトップには、どちらの自動制御メカニズムも搭載されていません。このプログラムによって追加された追加の動作は、他のデバイスにあるいくつかの自動化を模倣します。キーボードのバックライト制御はユーザー アクティビティのタイムアウトによってトリガーされ、画面のバックライト制御は内蔵カメラを使用して周囲の光レベルをサンプリングします。
このプロジェクトは、ソフトウェアを介してキーボードと LCD 画面のバックライト制御を強化するバックグラウンド Windows システム トレイ アプリケーションを提供します。これら 2 つの機能をサポートする設定は、システム トレイ上の GUI コンテキスト メニュー (右クリック) から構成できます。これらは個別に無効または有効にすることができます。
ユーザーが内蔵キーボード/マウス ハードウェアを操作すると、キーボード バックライトが自動的に点灯します。調整可能な非アクティブ タイムアウトの後、バックライトが暗くなります。キーボードの輝度レベルは、バックライト レベルの既存の「Fn+Space」キーボード ショートカットに応じて変化します。電源イベントが発生してもバックライトをリセットする工場出荷時の動作とは異なり、設定は電源イベント (スリープ/ウェイク、ディスプレイのオン/オフ) をまたいで保持されるため、ハンズオフ体験が可能です。
画面のバックライトは、周囲光センサーを模倣するために統合されたカメラをサンプリングすることによって自動的に点灯します。基本的な低解像度のスナップショットが取得され、周囲光レベルの代用として使用するために平均強度レベルが計算されます。このレベルは、構成可能な校正曲線を使用して画面の明るさのパーセンテージにマッピングされます。サンプリングと更新のプロセスは、電源イベント (スリープ/スリープ解除、ディスプレイのオン/オフ) または内蔵キーボード/マウスのユーザー アクティビティのタイムアウトによってトリガーされます。これにより、最初の使用時にバックライトが使える状態に保たれます。オプションで、定期的なサンプリング間隔を指定できます。ただし、カメラにアクティビティ LED が組み込まれているため、気が散る可能性があります。このアプリケーションは、注意散漫を最小限に抑えるために、予測可能なイベント (電源イベント、ユーザー アクティビティのタイムアウト) でのみカメラをサンプリングします。設定可能なホットキー (デフォルト: Alt-Space) を使用すると、ユーザーが異なる照明条件に移動したときに画面のバックライトの更新をトリガーすることもできます。
リリース セクションに移動し、最新の Windows インストーラーをダウンロードします。これにより、スタートアップ アプリケーションに「Auto Backlight for ThinkPad」が追加され、ユーザーのログイン時に自動的に開始されます。 「プログラムの追加と削除」などの方法で簡単にアンインストールできます。
Lenovo のオンスクリーン ディスプレイのポップアップを無効にしたい場合は、Windows 10 の設定に「オンスクリーン ディスプレイを有効にする」チェックボックスがあります。[設定]-->[システム]-->[ディスプレイ]-->[ディスプレイの詳細設定]-- からアクセスします。 >ディスプレイ 1 のディスプレイ アダプターのプロパティ -->画面構成。画像を参照してください。
プロジェクトは、Visual Studio 2019 C# WPF プロジェクト テンプレートと Windows セットアップ プロジェクト テンプレートからビルドされ、インストーラーを作成します。 Microsoft .NET Framework 上の C# は、インストールされているフレームワークのみを使用し、外部依存関係のない互換性の高いコードを実現するために選択されました。キーボードへの通信は、IbmPmDrv (Lenovo/IBM 電源管理ドライバー) への Windows IO 呼び出しを通じて行われます。これは、これらのラップトップで使用できるはずです。カメラ インターフェイスは、内部で Microsoft DirectShow を使用するサードパーティの Accord.NET 画像処理ライブラリを通じて行われます。
このアプリケーションは、サスペンド、レジューム、ディスプレイのオン/オフ、蓋のクローズ/オープンなどのさまざまな Windows Win32 電源管理イベントにフックして、これらのイベントに関するバックライト状態の特別な処理をトリガーします。これらのイベントにより、キーボードのバックライトや画面のバックライトが更新されます。 Windows Win32 Raw 入力は、特定のハードウェア デバイス (ラップトップの内蔵キーボードとマウス) のユーザー アクティビティに基づいてアプリに通知するために使用されます。これらのアクティビティ イベントによりバックライトの点灯がトリガーされ、その後タイムアウト後にリセットされます。頻繁な入力イベントは、不要なときはバッテリー寿命 (CPU 使用率) を維持するためにすぐにミュートされます。 CPU 使用率は、バックグラウンド アプリケーションとして最小限に抑えるために、アプリ開発中にテストされました。
Visual Studio ソリューションには、C# プロジェクト (アプリケーション自体) と Windows セットアップ プロジェクト (インストーラー) の両方が含まれています。 Microsoft .NET Framework でコアの依存関係が満たされている限り、すべてが Visual Studio 2019 上ですぐに使用できるようにビルドされます。このプロジェクトはシンプルに保たれており、ほとんどが標準/デフォルト設定です。使用されているトリックの 1 つは、外部 DLL 参照のリダイレクトです。これらの dll ファイル (含まれている NuGet パッケージから) は通常、ファイル エクスプローラーでアプリケーションの横に表示されますが、ほとんどはビルド プロセスの一部として実行可能ファイル内に埋め込まれています。
このプロジェクトは、Apache-2.0 ライセンスに基づいてライセンスされています。全文については、LICENSE ファイルを参照してください。帰属については NOTICE ファイルを参照してください。