Find a file
Jonas Schievink 31be7e68a7 restart service on failure
there's a spurious EC communication issue
(driver/firmware bug?), and this is the easiest fix
2023-06-19 04:53:34 +02:00
etc restart service on failure 2023-06-19 04:53:34 +02:00
src Initial commit 2023-04-20 21:15:08 +02:00
.gitignore Initial commit 2023-04-20 21:15:08 +02:00
Cargo.lock update lockfile 2023-06-02 03:06:02 +02:00
Cargo.toml Bump version 2023-05-31 01:39:13 +02:00
LICENSE Initial commit 2023-04-20 21:15:08 +02:00
README.md Clarify contribution policy 2023-05-31 01:33:18 +02:00

keylightd

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.

Installation

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

Running

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>]

keylightd - automatic keyboard backlight daemon for Framework laptops

Options:
  --brightness      brightness level when active (0-100) [default=30]
  --timeout         activity timeout in seconds [default=10]
  --help            display usage information

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

Contributing

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