Customize keyboard backlight

Is it possible to customize features of the keyboard & backlight? Example are:

  • changing backlight timeout (for battery and plugged in)
  • scheduling backlight (enable during nighttime & on battery)
  • toggle when screen brightness is low
  • toggle backlight for certain keys (and add cool effects)
  • changing what function keys do
  • customize power button backlight
16 Likes

Iā€™d second this. The change of kbd backlight levels is something that I got really used to and would be nice to have.

1 Like

This is handled by the EC(embedded controller) which is open source, at the moment this functionality is not well exposed to the user but it should be technically do able but Iā€™m not sure how

Framework is planning on making this easier to tweak in the future I believe

1 Like

Iā€™d like to see this as well.

One thing I miss from my Thinkpad is a led for mute status. If I could turn on the backlight for just the F1 key to indicate ā€œmutedā€, that could be cool.

Thatā€™d also be useful. WhyTF does Fn+F9 fake like typing Meta+P instead of producing a proper scancode? (Yeah, I know, the answer is some Windows stupidity, thatā€™s not the point)

+1 for timeout. One of the remaining things I envy on my partnerā€™s macbook.

4 Likes

Iā€™d just like to second this request. Just something I could modify in /sys/class/leds/ or something

1 Like

Is there any update on this feature request? This is my main ā€œbugā€ with the Framework right now. Itā€™s also been talked about here.

Iā€™m ok with 3rd party software (Windows) if that would be available.

1 Like

+1

Still waiting for the keyboard backlight timeout to be ā€œfixedā€. :frowning:

Iā€™m working on a VERY simple program that does a keyboard backlight timeout using the ectool on Gnome systems (it uses Gnomeā€™s dbus and Mutter to know when the user is idle). Iā€™d like to share it, but it needs some configuration of dbus to work in a way that I think might be insecure.

2 Likes

I just wrote a small Linux daemon to do this GitHub - jonas-schievink/keylightd: Keyboard backlight daemon for the Framework Laptop

No fancy features, just ā€œturn backlight on when keyboard or touchpad are usedā€ and ā€œturn it back off after a timeoutā€, since thatā€™s what I was missing from my XPS 13.

(it uses evdev directly, so doesnā€™t need any specific desktop environment)

14 Likes

@jschievink This is great. I also ended up working on an ioctl based version (was also done in rust) but yours is better!

I had this Daemon installed on my 12th gen Intel framework 13, worked like a charm and loved it.
It immediately broke when I upgraded to the AMD 7840U mainboard. Iā€™ve been tearing my hair out for months trying to figure out why, with no luck. I think itā€™s related to the embedded controller, but if you have any advice on how to get it working on the 7840U series, Iā€™d be really appreciative.

The embedded controller driver in the kernel does not yet support the AMD Framework Laptop.

A patch has been accepted which adds support for it: [v3,0/4] platform/chrome: cros_ec_lpc: add support for AMD Framework Laptops - Patchwork

It should be in the next mainline version update to the kernel (6.10, since 6.9 is in the release candidate stage.)

3 Likes

For an ubuntu-user, how would I implement that patch on my own system?
Iā€™m nowhere near knowledgeable enough for arch, so if you could point me to a resource that could help, or even just break it down into crayons for me, Iā€™d be super grateful.

So is the backlight timeout function being worked on? Just started using my 13 and have spent all day trying to figure out how to get the keyboard backlighting to turn off when not used. And now I find here that it might not be at all possible. How is this not a feature? I donā€™t remember owning any laptop or keyboard that DDNā€™T have a backlight timeoutā€¦

Iā€™m on an 11th Gen 13 using W10 if that matters at all.

This is the biggest annoyance that I miss from my Macbook Air coming to Framework. The backlight issues. Iā€™m generally a touch typer, but the function keys on the top row are different than on a Macbook (fair enough) but I do need the backlight to figure out which is which. I use my laptop in bed often and also watch a lot of media on it, so I donā€™t want the backlight distracting from the streaming video, and I donā€™t want to have to toggle something that should be scriptable/automatic in 2024. This is simple functionality that makes a big usability impact and feels like that apple level of ā€˜polishā€™. That isnā€™t an apple-exclusive, please update the bios to enable fade-to-zero keyboard backlighting on a timeout. I can imagine this could be done entirely in firmware.

Is the EC running zephyr? I think I remember hearing about either Chromebooks or Framework using Zephyr for the firmware, but it might have been another firmware framework entirely.

Keylightd is a daemon you can install on linux systems to automate it (with 6.10 kernel on amd boards) But I havenā€™t been able to find anything about enabling a timeout in windows.
Maybe someone could convert keylightd into a windows service? But unfortunately I donā€™t know nearly enough to try and tackle that.

My HP Elitebook from 2013 has keyboard backlight timeout functionality. Doesnā€™t need to be an Apple product to have it.

Why my Framework is lacking such a basic function is confusing

Iā€™m thinking itā€™s just a matter of priorities for a small team. Iā€™m not sure how to get at the keyboard backlight on windows. Is there an API for it or is it Linux only?