解决 Dell 笔记本键盘背光触发问题

        笔记本是 Dell Precision 5520,系统是 Gentoo Linux 。自从某漏洞曝光后,开始频繁更新内核,这是背景。

        某天更新完内核后,估计是因为配置内核的时候修改了 DELL_SMBIOS_WMI 选项,键盘背光出现问题,具体表现为:无法通过键盘按键和触摸板触发键盘背光,只能通过 BIOS 和系统设置调节键盘背光,而且很快会熄灭。当时也没什么头绪,而且影响也不是太大,就一直拖着了。

        拖了一个月,感觉没有背光确实有些不方便,于是就看看能不能在什么地方找出键盘背光相关的设置。最后发现关于背光的设置在 /sys/class/leds/dell::kbd_backlight 这个目录下。

brightness 记录的是键盘背光的亮度值

max_brightness 记录的是键盘背光最大亮度的值

start_triggers 记录的是触发键盘背光的操作

stop_timeout 记录的是键盘背光自动熄灭时间

这里需要修改的是 start_triggers 这个文件,此时文件内容为

-keyboard -touchpad

        意思是禁止通过键盘按键和触摸板触发背光。要想通过键盘按键和触摸板触发键盘背光,需要修改这个文件。但是直接用 vim 等编辑器修改这个文件的话是无法保存的,只能用 echo 重定向去修改,且一次只能添加一个触发器:

# echo '+keyboard' > start_triggers
# echo '+touchpad' >> start_triggers

        设置是即时生效的。trigger 文件里列出了所有支持的触发器,可自行添加,但要注意,触发器是写入 NVRAM 中的,即重启后也不会还原,对所有系统都有效,所以修改时要注意。