#led #version

app keylightd

Keyboard backlight daemon for Framework laptops

4 stable releases

1.1.0 Sep 3, 2023
1.0.2 Jun 2, 2023
1.0.1 Apr 20, 2023

#102 in Hardware support

29 downloads per month

0BSD license

385 lines


Keyboard backlight daemon for Framework laptops

keylightd is a small system daemon for Framework laptops that listens to keyboard and touchpad input, and turns on the keyboard backlight while either is being used.


To install from source, clone the repository and run:

$ cargo build --release
$ sudo cp target/release/keylightd /usr/local/bin

keylightd has no native dependencies you have to install first (apart from a recent Rust toolchain for building it, of course). It implements communication with the Embedded Controller itself, and talks to the input devices using evdev ioctls directly. It also does not have any hard dependencies on a desktop environment or display server.

If you want to configure keylightd as a systemd service that starts on boot, you can use the provided service file:

$ sudo cp etc/keylightd.service /etc/systemd/system
$ sudo systemctl enable --now keylightd


Note that keylightd needs to be run as root, since it accesses the Embedded Controller to control the keyboard backlight.

keylightd takes the following command-line arguments:

Usage: keylightd [--brightness <brightness>] [--timeout <timeout>] [--power]

keylightd - automatic keyboard backlight daemon for Framework laptops

  --brightness      brightness level when active (0-100) [default=30]
  --timeout         activity timeout in seconds [default=10]
  --power           also control the power LED in the fingerprint module
  --help            display usage information

If you're using the provided keylightd.service file, you can adjust the command line parameters there.


This project does not accept contributions. It is finished and does what I want of it.


~177K SLoC