适用于某些 Lenovo ThinkPad 笔记本电脑(例如 X1c、X1e、P1)的自动化工具,可使用系统托盘应用程序控制 Windows 安装上的键盘背光和液晶屏亮度(背光)。这些笔记本电脑均不配备自动控制机制。该程序添加的其他行为模仿其他设备上的一些自动化操作。键盘背光控制由用户活动超时触发,屏幕背光控制使用集成摄像头对环境光水平进行采样。
该项目提供了一个后台 Windows 系统托盘应用程序,可通过软件增强键盘和液晶屏背光控制。支持这两个功能的设置可通过系统托盘上的 GUI 上下文菜单(右键单击)进行配置。它们可以单独禁用或启用。
每当用户与内置键盘/鼠标硬件交互时,键盘背光就会自动点亮。经过可调节的不活动超时后,背光变暗。键盘亮度级别随着现有的“Fn+Space”键盘快捷键的背光级别而变化。设置在电源事件(睡眠/唤醒、显示开/关)期间保持不变,以提供无需干预的体验,这与在电源事件期间重置背光的库存工厂行为不同。
通过对集成摄像头进行采样以模仿环境光传感器,屏幕背光会自动点亮。拍摄基本低分辨率快照并计算平均强度级别以用作环境光级别的代理。使用可配置的校准曲线将该级别映射到屏幕亮度百分比。采样和更新过程将由电源事件(睡眠/唤醒、显示开/关)或内置键盘/鼠标上的用户活动超时触发。这使得背光在首次使用时保持就绪状态。或者,可以指定定期采样间隔。然而,由于相机内置有活动 LED,这可能会分散注意力。此应用程序将仅在可预测事件(电源事件、用户活动超时)时对相机进行采样,以最大程度地减少干扰。当用户移动到不同的照明条件时,可配置的热键(默认:Alt-Space)还可以触发屏幕背光刷新。
转到版本部分并下载最新的 Windows 安装程序。它将向启动应用程序添加“ThinkPad 自动背光”,以便在用户登录时自动启动。可以通过“添加或删除程序”或其他类似方法轻松卸载。
如果您想禁用 Lenovo 屏幕显示弹出窗口,Windows 10 上的“设置”中隐藏着一个“启用屏幕显示”复选框。通过“设置”-->“系统”-->“显示”-->“高级显示设置”-- 访问它。 >显示器 1 的显示适配器属性-->屏幕配置。参见图片。
该项目是根据 Visual Studio 2019 C# WPF 项目模板和 Windows 安装程序项目模板构建的,以创建安装程序。选择 Microsoft .NET 框架上的 C# 来实现代码的高兼容性,无需外部依赖,仅使用已安装的框架。与键盘的通信是通过 Windows IO 调用 IbmPmDrv(Lenovo/IBM 电源管理驱动程序)来完成的,这些笔记本电脑上应该可以使用该驱动程序。相机接口通过第三方 Accord.NET 图像处理库实现,该库在底层使用 Microsoft DirectShow。
该应用程序挂钩各种 Windows Win32 电源管理事件,如挂起、恢复、显示开/关、盖子关闭/打开,以触发围绕这些事件的背光状态的特殊处理。这些事件导致键盘背光和/或屏幕背光的更新。 Windows Win32 原始输入用于根据某些硬件设备(笔记本电脑内置键盘和鼠标)的用户活动来通知应用程序。这些活动事件触发背光照明,随后在超时后重置。频繁的输入事件会在不需要时快速静音,以延长电池寿命(CPU 使用率)。在应用程序开发期间测试了 CPU 使用率,以将其作为后台应用程序保持在最低限度。
Visual Studio 解决方案包含 C# 项目(应用程序本身)和 Windows 安装程序项目(安装程序)。只要满足 Microsoft .NET Framework 的核心依赖关系,所有内容都应该在 Visual Studio 2019 上开箱即用地构建。该项目保持简单,并且大部分采用标准/默认设置。使用的一个技巧是外部 dll 引用的重定向。这些 dll 文件(来自包含的 NuGet 包)通常会出现在文件资源管理器中的应用程序旁边,但大多数已作为构建过程的一部分嵌入到可执行文件中。
该项目根据 Apache-2.0 许可证获得许可。请参阅许可证文件的全文。有关属性,请参阅 NOTICE 文件。