Builds will be periodically uploaded to the releases tab.
You may also download precompiled versions from here (requires github account) by clicking the latest entry with a ✅ and going under the "artifacts" section.
All stock effects: Static, Breath, Smooth, LeftWave, RightWave.
Custon effects:
- Lightning: Adds a little spark.
- AmbientLight: Reacts to content on your screen.
- Smooth(Left/Right)Wave: An implementation of the classic wave effect.
- (Left/Right)Swipe: Transitions the selected colors from side to side, useful for custom waves.
- Disco: A portable dance floor!
If you are using the program on Linux, you'll need to run the program as root.
Execute the file by double-clicking on it or running it from a console without arguments.
Usage:
$ legion-kb-rgb [OPTIONS] [SUBCOMMAND]
Examples:
- Getting the help prompt
$ legion-kb-rgb --help
- Setting the keyboard to red
$ legion-kb-rgb Static 255,0,0,255,0,0,255,0,0,255,0,0
- Using the SmoothLeftWave with speed
4
and brightness at high
$ legion-kb-rgb -s 4 -b 2 SmoothLeftWave
This program has been tested to work on the 4 zone keyboard of the Legion 5 2020, Legion 5 2021 and Legion 5 Pro models on both Windows and Linux.
- Legion 7(i): Won't work, the backlight on these is per-key and uses a different way of communicating.
- Any variant with a white backlight: Havent figured out how to talk to this one yet, but given the limited number of states (off, low, high) there's not many effects I'd be able to add anyways.
Ubuntu
$ sudo apt-get update && sudo apt-get install -y libpango1.0-dev libx11-dev libxext-dev libxft-dev libxinerama-dev libxcursor-dev libxrender-dev libxfixes-dev libudev-dev nasm libxcb-randr0-dev libusb-1.0-0-dev libdbus-1-dev
EndeavourOS (Arch Linux)
$ sudo pacman -S nasm cmake
Works on both Windows and Linux.
- Install
cargo-make
$ cargo install cargo-make
- Clone the repository
$ git clone https://github.com/4JX/L5P-Keyboard-RGB.git
- Build the project
$ cd L5P-Keyboard-RGB/
$ cargo make build
# Or
$ cargo make build-release
- Download and bootstrap VCPKG
- You'll need to set an enviorement variable called
VCPKG_INSTALLATION_ROOT
pointing to the directory where you downloaded and bootstrapped VCPKG.
- You'll need to set an enviorement variable called
- Download the necessary dependencies
> vcpkg update && vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static
- Clone the repository
> git clone https://github.com/4JX/L5P-Keyboard-RGB.git
- Build the project
> cd L5P-Keyboard-RGB/
> cargo build --release
- Download the necessary dependencies
$ vcpkg update && vcpkg install libvpx libyuv
- Clone the repository
$ git clone https://github.com/4JX/L5P-Keyboard-RGB.git
- Build the project
$ cd L5P-Keyboard-RGB/
$ cargo build --release
I cannot guarantee this solution will work for anyone but myself. That being said feel free to open an issue if you encounter any of these problems on the issues tab.
Thanks to legendk95#0574 (272711294338072577) over at discord for initially reverse engineering the way to talk to the keyboard.