{"id":20358549,"url":"https://github.com/selfmadesystem/system76-keyboard-rainbow","last_synced_at":"2025-08-01T07:11:47.824Z","repository":{"id":195649128,"uuid":"693366656","full_name":"SelfMadeSystem/system76-keyboard-rainbow","owner":"SelfMadeSystem","description":null,"archived":false,"fork":false,"pushed_at":"2023-09-24T01:20:20.000Z","size":13,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-15T01:45:58.171Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SelfMadeSystem.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-18T22:22:06.000Z","updated_at":"2023-09-27T15:26:03.000Z","dependencies_parsed_at":"2024-11-14T23:28:27.924Z","dependency_job_id":"fa65a56a-987b-4b4e-bf29-50c0a5a35a29","html_url":"https://github.com/SelfMadeSystem/system76-keyboard-rainbow","commit_stats":null,"previous_names":["selfmadesystem/system76-keyboard-rainbow"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SelfMadeSystem%2Fsystem76-keyboard-rainbow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SelfMadeSystem%2Fsystem76-keyboard-rainbow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SelfMadeSystem%2Fsystem76-keyboard-rainbow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SelfMadeSystem%2Fsystem76-keyboard-rainbow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SelfMadeSystem","download_url":"https://codeload.github.com/SelfMadeSystem/system76-keyboard-rainbow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241895426,"owners_count":20038512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T23:27:32.127Z","updated_at":"2025-03-04T17:49:42.080Z","avatar_url":"https://github.com/SelfMadeSystem.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# System76 Rainbow Keyboard\n\nThis is a simple program to have a rainbow keyboard on System76 laptops. It\nshould work on any System76 laptop with a backlit keyboard. Please report any\nissues you have with it.\n\nTested on a System76 Gazelle (gaze18) laptop running Pop!_OS 22.04.\n\nThe brightness should already be set to what it was before running the program\nwhen it exits. It should also automatically adjust when you change the\nbrightness with the keyboard. If it doesn't, please report it as an issue.\n\n# Video\n\nHere's a video of me using it. It looks better in person. You also can't really see\nthe brightness change, but it's very evident when you're actually using it. Furthermore,\nit does reset to how your brightness/color was before you started the program.\n\nhttps://github.com/SelfMadeSystem/system76-keyboard-rainbow/assets/38010540/c8e86d27-06a2-4c01-b5da-530d85edc67c\n\n## Installation\n\nYou must install `rust` and `cargo` to build this program. You can install them\nwith `apt`:\n\n```bash\nsudo apt install rustc cargo\n```\n\nThen you can build and install the program with:\n\n```bash\ncargo install --git https://github.com/SelfMadeSystem/system76-keyboard-rainbow\n```\n\nTo run the program, you need to add `~/.cargo/bin` to your `PATH`:\n\nIf using `bash`:\n\n```bash\nexport PATH=\"$PATH:$HOME/.cargo/bin\"\n```\n\nIf using `fish`:\n\n```fish\nset -gx PATH $PATH $HOME/.cargo/bin\n```\n\n## Usage\n\nThe program must be run as root to access the following files:\n- `/sys/class/leds/system76_acpi::kbd_backlight/color`\n- `/sys/class/leds/system76_acpi::kbd_backlight/brightness`\n\nIf you don't want to run the program as root, you can change the permissions of\nthese files. I run it as root because I'm lazy. You can probably figure out how\nto do this yourself.\n\nYou can run the program with:\n\n```bash\nsystem76-keyboard-rainbow\n```\n\nYou can also run it in the background with:\n\n```bash\nsystem76-keyboard-rainbow \u0026\n```\n\n### Options\n\nYou can change the sleep time of the rainbow with the `-s` or `--sleep-time`\noption (in milliseconds). For example, to have a 0.1 second sleep time:\n\n```bash\nsystem76-keyboard-rainbow -s 100\n```\n\nYou can also change the color increment with the `-c` or `--color-increment`\noption. For example, to have a 10 increment:\n\n```bash\nsystem76-keyboard-rainbow -c 10\n```\n\n## What's the `keyboard_led_rainbow.sh` file?\n\nThat's the original script I wrote to do this. It took up to 10% of my CPU when\nrunning, so I decided to rewrite it in Rust. I'm keeping it here for posterity.\n\n## License\n\nThis program is licensed under the MIT license. See the [LICENSE](LICENSE.md) file\nfor more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fselfmadesystem%2Fsystem76-keyboard-rainbow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fselfmadesystem%2Fsystem76-keyboard-rainbow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fselfmadesystem%2Fsystem76-keyboard-rainbow/lists"}