功能请求: 为 DIY 环境光传感器添加通用 lux 输入支持
作者: FanchangWang创建于 2026年9月7日更新于 2026年9月7日
背景
目前,Twinkle Tray 的环境光自动亮度功能仅支持两种硬件传感器:
- Windows 标准 HID 环境光传感器 - 它们需要符合 USB HID 传感器规范的硬件,这对 DIY 实现具有较高的门槛。
- Yocto-Light-V2 商用 USB 传感器 - 专用硬件,成本相对较高且可访问性有限。 然而,使用 常见微控制器(ESP8266 / ESP32 / RP2040 等)和低成本光模块(BH1750 / VEML7700 等) 的 DIY 环境光传感器解决方案在桌面用户中非常受欢迎。这些设置的硬件成本极低,可以稳定地输出标准的 Lux 值,并提供完全足够的精度,可用于显示自动亮度功能。 目前,这些 DIY 解决方案无法直接与 Twinkle Tray 集成。用户需要编写自己的中间脚本来分别读取 Lux 值和控制显示亮度,这意味着他们无法重用 Twinkle Tray 的成熟功能,如亮度曲线、平滑过渡和多显示器管理 - 导致用户体验分散。
建议的解决方案
选项 1:本地文本文件读取器(最简单的实现,建议优先考虑)
添加一个新的 "通用文件传感器" 选项,具有以下核心逻辑:
- 用户在设置中指定一个本地文本文件路径。
- Twinkle Tray 定期以只读模式读取文件内容,并解析其中的纯数值作为 Lux 照度值。
- 完全重用现有的逻辑:传感器数据验证、回退行为、亮度映射、平滑过渡等。 优点:
- 实现难度很低,对现有代码基础的干预最小。
- 非常通用:只需将 Lux 值写入文本文件,即可将其传送到 Twinkle Tray 中。兼容所有 DIY 硬件解决方案。
- 还可以作为开发者调试传感器功能的简单入口。
选项 2:基于插件的传感器扩展接口(长期计划)
为传感器适配器开放插件规范,允许第三方实现自定义 Lux 获取逻辑(串口、网络、自定义硬件协议等),并将其作为插件加载到 Twinkle Tray 中。 优点:
- 强大的生态系统可扩展性 - 社区可以为更多的特定传感器解决方案提供支持。 缺点:
- 更大的开发成本,适合长期路线图规划。
预期的好处
- 大大降低了用户启用环境光自动亮度的硬件门槛,使更多用户能够使用 Twinkle Tray 的自动调暗功能,并利用低成本的 DIY 解决方案。
- 覆盖更广泛的桌面用户群体,并释放社区生态系统潜力。
- 用户可以利用 Twinkle Tray 的成熟调暗功能,获得更加协调一致的整体体验。
内容来源: xanderfrangos/twinkle-tray