Windows 10笔记本电脑键盘灯如何打开

3
我最近购买了一台联想t420笔记本电脑。我将其升级为SSD并从7升级到10。然后我安装了一个没有所有垃圾软件的Windows 10干净镜像。我想让键盘灯在不安装联想软件的情况下可用。它不是背光,而是位于显示器上方相机旁边的单个白色LED。我看到它在冷启动机器时亮起了一瞬间,我认为这是POST测试或类似启动过程的一部分,因此我认为有某种方法可以连接到它。
我尝试使用Windows 10 UWP API中的新Lamp类,但那行不通。我还尝试使用设备枚举方法,但那并没有显示出类似LED的任何内容。
以下是我迄今为止尝试的代码,有些简化。
Lamp lamp = await Lamp.GetDefaultAsync();

这将导致 lamp = null。

string selectorString = Lamp.GetDeviceSelector();
DeviceInformationCollection devices = await DeviceInformation.FindAllAsync(selectorString);

这也会导致空值。

以下是设备枚举代码:

DeviceInformationCollection devices = devices = await light.EnumerateDevices();

这个集合中有大约291个不同的设备,但似乎没有一个匹配的。如果需要,我可以把长列表贴出来。
是否有办法通过C#访问LED呢?如果不能通过C#,那么也许可以用其他语言吗?
编辑:我刚刚找到了键盘快捷键,之前的信息是错误的,正确的是Fn + Pgup。这样就有效了,所以我想知道为什么我找不到钩子。
作为一个学习练习,我仍然想知道如何访问LED。

你可能需要一些低级I/O驱动程序。很有可能你的灯/灯泡甚至没有被检测到,更别说被操作系统识别了。 - Quirk
@Quirk 我也有这样的怀疑。我查看了联想网站,没有找到只针对灯光的驱动程序。也许我可以找到一个包含所需内容的驱动程序并从中提取。 - John S
@Quirk 是的,我尝试过了。我希望它可以用作闪光灯,但它不行。方向是直下的,而且作为闪光灯效果也不太好。请看我的编辑,我找到了键盘快捷键,它起作用了。 - John S
我承认,专门放在你的网络摄像头旁边的灯很奇怪。我的笔记本电脑也有一个,只是在我打开网络摄像头之前根本看不见。 - Quirk
@Quirk 这是键盘照明灯。我通常不太看到这种情况,通常键盘后面有几个RGB LED。这是一台便宜的笔记本电脑,所以我想这样做更容易。 - John S
显示剩余2条评论
1个回答

0

好的,我认为这是我能得到的最接近答案了,我想把它放在这里供未来有好奇心的人参考。

这里有一个链接,其中包含有关如何从Linux和Windows获取ThinkLight的大量信息。

http://www.thinkwiki.org/wiki/ThinkLight

如果链接失效,以下是重要内容。

使用键盘控制ThinkLight在所有系统上都可以工作,因为它完全依赖于BIOS。只需按Fn+PageUp键即可在开启和关闭之间切换状态。

从##30系列型号(T430、T530、W530等)开始,按键被更改为Fn+Space键,以更好地适应新的6行键盘布局。对于带有背光键盘的型号,有4种状态:关闭、暗淡背光、完全背光和带ThinkLight的完全背光。没有背光键盘的型号只有开启和关闭ThinkLight,可以通过在已安装背光键盘的型号的BIOS中禁用背光键盘来获得。

通过thinkpad-acp进行软件控制

通过thinkpad-acpi进行软件控制 ACPI支持使用thinkpad-acpi控制灯光。安装后,只需简单地执行命令

# echo 255 > /sys/class/leds/tpacpi\:\:thinklight/brightness

打开它的开关

# echo 0 > /sys/class/leds/tpacpi\:\:thinklight/brightness

再次关闭它。

这允许我们在脚本中控制灯光。不幸的是,目前没有已知的ThinkPad配备了光传感器(但愿以后会有)。;)

如果想在没有root权限的情况下在脚本中使用这些控件,您应该运行

# chmod 666 /sys/class/leds/tpacpi\:\:thinklight/brightness, which is probably best done using udev.

应用程序

  • led-notification: Pidgin插件,可使用任何LED指示新消息。我已经分叉了led-notification以支持通过thinkpad-acpi的ThinkLight。以下插件要么与最新的pidgin不兼容,要么无法为我编译。led-notification的原始作者似乎失踪了。另一个分叉pidgin-led-notification用于编写用户定义的字符串(添加到Gentoo / Linux)

  • gaim-thinklight:如果您正在使用GAIM,则gaim-thinklight插件将使您能够使用ThinkLight作为新消息的指示器。这取决于thinkpad-acpi。

  • gaim-lighthink:gaim-lightthink是gaim-thinklight的替代品。pidgin-blinklight:pidgin-blinklight是gaim-lighthink的替代品,旨在与Pidgin一起使用。

  • rocklight:rocklight是一个xmms可视化插件,可使ThinkLight随着音乐节奏闪烁。该软件包还包括一个独立的频闪模式程序。

  • thinkblinkd:[1] Thinkblinkd是一个Python守护程序,用于控制thinklight(以及可能是Thinkpad上的其他灯),它带有守护程序和控制脚本。

    用于盗窃警报的脚本可选择在启用警报时闪烁ThinkLight(默认情况下禁用,要启用请设置$use_light = 1)。

  • kopete-thinklight:[2]这个kopete插件将使使用thinklight作为新消息的通知。愚蠢的小技巧来闪烁ThinkLight:[3]一个小的C程序,可以设置SUID,以便您可以从非特权程序中使用它,需要进行一些通知。

  • thinkalert:[4]另一个可以设置SUID的C程序,以允许非特权程序操作ThinkLight。相对于“愚蠢的小技巧来闪烁ThinkLight”程序添加了一些功能。

  • thinklight-notification:此Evolution插件会在新消息到达时通过闪烁灯通知用户。

  • ThinkBlink:blink.sh是一个通用的bash脚本,使ThinkLight闪烁。它可以与任何应用程序一起使用。

Windows支持 同样,通过键盘控制ThinkLight无需添加任何软件即可实现。IBM/Lenovo的Hotkey Features软件会在灯光开启/关闭时添加OSD图标。

通过Hotkey Features软件进行软件控制 Hotkey Features软件公开了一个接口,可以(除其他之外)控制ThinkLight。有关更多信息,请参见用于控制ThinkPad功能的Windows Python脚本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接