A Linux user-space daemon that tracks the current keyboard layout and controls Razer lighting through OpenRazer.
- Layout-based scenes (
static,gradient_shift,breath,wave_sweep) - Event-driven layout detection on GNOME (
gsettings monitor) with polling fallback - Fixed keys (persistent custom color per key)
- Keypress overlay effects (
reactive/ripple) viaevdev - Automatic config reload on file changes
- GTK4 GUI (
razeru-linux-gui) with color pickers and a visual fixed-keys editor
Install with apt:
python3-openrazerpython3-gigir1.2-gtk-4.0python3-venvpython3-evdev
OpenRazer must already detect your device.
./scripts/install_user.sh~/.venvs/razeru-linux/bin/razeru-linux --list-devices
~/.venvs/razeru-linux/bin/razeru-linux --dump-capabilities
~/.venvs/razeru-linux/bin/razeru-linux --print-layout
~/.venvs/razeru-linux/bin/razeru-linux --once --verbose
~/.venvs/razeru-linux/bin/razeru-linux --validate-config
~/.venvs/razeru-linux/bin/razeru-linux-guiLayout Scene: set scene/effect and primary/secondary colors for each layoutKey Press: choose keypress effect color and blend mode (max/replace)Fixed Keys: paint specific keys in a 6x22 matrix, erase, or clear allGeneral:Disable All Effectskeeps only static layout colorSync Mouse Lighting With Keyboardapplies layout color to mouse zones
After installation, config is located at:
~/.config/razeru-linux/config.tomlSee the example config:
cat examples/config.tomlpoll_interval is used as a fallback/health-check interval.
When GNOME event watcher is active, polling is reduced to max(1.0, poll_interval).
If keypress effects are enabled, the process needs access to /dev/input/event*.
Usually this means running as a user in the input group.
systemctl --user status razeru-linux
journalctl --user -u razeru-linux -f
systemctl --user restart razeru-linuxThe installer binds razeru-linux.service to graphical-session.target, so the
daemon is restarted cleanly when the desktop session ends and starts again
(helpful for GNOME Remote Login / RDP session switches).
The GTK GUI also includes a Restart Service button that runs the same
systemctl --user restart razeru-linux.service command.