[Lenovo t480s] Backlit keyboard

Hi,

I cannot turn on the keyboard light on my lenovo. I understand that Lenonvo’s builtin command is Fn+spacebar but does not seem to work.

thank you :slight_smile:
Davide

Note you may want to add https://github.com/NixOS/nixos-hardware/blob/12620020f76b1b5d2b0e6fbbda831ed4f5fe56e1/lenovo/thinkpad/t480s/default.nix to your config. Thinkpads have rather excellent support from nixos-hardware :slight_smile:

Keyboard backlight change buttons usually send and Xf86 key input, and then need to be handled by the operating system to actually do something. In Linux land, this responsibility falls with your WM/DE/Wayland compositor. What graphical environment do you use?

You can confirm that you need to listen for a key using something like xorg.xev and checking if it gives you a key input event.

Hi,

Thank you for your help. I did add the relevant part to my configuration following your advice.

I have xorg.

I have installed xorg.xev, which opens a window after invoking the command xev. Then, the termina detects input events when I move the mouse and press keys, but does not detect anything when I press Fn+spacebar (which is expected to be the command to change the keyboard light).

Cheers,
Davide

That’s odd then, it means this should be handled by something you can’t really configure (either firmware or underlying driver).

Note that you can rebind Fn <-> Ctrl in BIOS on thinkpads, too, if you did so and forgot you might need to press Ctrl + Space.

You can usually change the backlight using software, too. Try, for example:

echo 1 | sudo tee /sys/class/leds/tpacpi::kbd_backlight/brightness

This should confirm whether the keyboard backlight even works on your laptop.

You can usually write 1-5 into there for different brightness levels. You could bind this to a different key, though really, your keyboard shortcut should be working.

That path does not seem to exist in my tree:

$ l /sys/class/leds/ 
totale 0
drwxr-xr-x  2 root root 0 Aug 31 16:32 .
drwxr-xr-x 62 root root 0 Aug 31 16:32 ..
lrwxrwxrwx  1 root root 0 Aug 31 16:33 input1::capslock -> ../../devices/platform/i8042/serio0/input/input1/input1::capslock
lrwxrwxrwx  1 root root 0 Aug 31 16:33 input1::numlock -> ../../devices/platform/i8042/serio0/input/input1/input1::numlock
lrwxrwxrwx  1 root root 0 Aug 31 16:33 input1::scrolllock -> ../../devices/platform/i8042/serio0/input/input1/input1::scrolllock
lrwxrwxrwx  1 root root 0 Aug 31 16:33 phy0-led -> ../../devices/pci0000:00/0000:00:1c.6/0000:3d:00.0/leds/phy0-led
lrwxrwxrwx  1 root root 0 Aug 31 16:33 platform::micmute -> ../../devices/platform/thinkpad_acpi/leds/platform::micmute
lrwxrwxrwx  1 root root 0 Aug 31 16:33 platform::mute -> ../../devices/platform/thinkpad_acpi/leds/platform::mute
lrwxrwxrwx  1 root root 0 Aug 31 16:33 tpacpi::power -> ../../devices/platform/thinkpad_acpi/leds/tpacpi::power
lrwxrwxrwx  1 root root 0 Aug 31 16:33 tpacpi::standby -> ../../devices/platform/thinkpad_acpi/leds/tpacpi::standby
lrwxrwxrwx  1 root root 0 Aug 31 16:33 tpacpi::thinklight -> ../../devices/platform/thinkpad_acpi/leds/tpacpi::thinklight
lrwxrwxrwx  1 root root 0 Aug 31 16:33 tpacpi::thinkvantage -> ../../devices/platform/thinkpad_acpi/leds/tpacpi::thinkvantage

Also the command

find  /sys/class/leds -name "*backlight*" 

returns nothing.

On a side note: Fn+key does not get captured by xev. For intance, F1 gets captured; Fn+F1 (mute/unmute) does actually mute/unmute but does not get captured.

Davide

Hm, interesting, looks like it’s the “thinklight” on that laptop: ThinkLight - ThinkWiki

That wiki entry covers how you control it, too.

Very interesting wiki, thank you. I followed the instructions of the page, but I got this:

$ sudo su
...
# cat /sys/class/leds/tpacpi\:\:thinklight/brightness
0
# echo 255 > /sys/class/leds/tpacpi\:\:thinklight/brightness
0

and no change on back light.

Davide

Out of my paygrade then, sadly, I think :frowning: Have you tried pressing the Fn + space in BIOS to verify the backlight works at all? It sounds suspiciously like it’s just not functional on your laptop.

Thank you for your suggestion. No, it does not work on BIOS. As you said, it’s probably just not functional on my laptop.

Thank you anyway for your help!