Lighting studio
Layer per-key effects — waves, ripples, audio visualiser, gradients — with masks, blend modes and live preview across every connected device.
KeyHalo is a lightweight, open-source studio for per-key RGB lighting, DPI and polling rate, per-app keymaps and macros, and a typing trainer. A privacy-first alternative to Razer Synapse for Windows.
One small app instead of a stack of vendor utilities. Every feature works offline.
Layer per-key effects — waves, ripples, audio visualiser, gradients — with masks, blend modes and live preview across every connected device.
DPI stages with independent X/Y, polling rate, sniper DPI, idle sleep and battery history for wireless mice.
Remaps, layers, tap-hold and macros that switch automatically with the focused app, plus lit shortcut legends for DaVinci Resolve, Blender, VS Code and more.
Adaptive lessons, per-key heatmaps, WPM and consistency stats, ghost races, and word packs in several languages.
Check every key, switch and mouse button, measure polling rate and spot ghosting or chatter before a match.
Rules that react to apps, time, battery or system load. Light up for Bambu Lab print progress, Claude Code sessions, Home Assistant/MQTT and CS2, Dota 2 or League of Legends events.
Install profiles, keymap packs, effects, device definitions and typing packs shared on GitHub — or publish your own from the app.
MIT-licensed, no account, no cloud. Community effects run sandboxed, and risky macros must be reviewed before they're enabled.
The UI stays neutral so the only colour on screen is your lighting.








Device support is plain JSON in the repository, so anyone can add a model. Any keyboard or mouse that supports Windows Dynamic Lighting (LampArray) works too.
| Device | Type | Connection | USB ID | Status |
|---|---|---|---|---|
| Razer DeathAdder V2 Pro | Mouse | Razer HID | 1532:007C 1532:007D | Verified |
| Razer Huntsman Mini | Keyboard | Razer HID | 1532:0257 | Verified |
| Razer Basilisk V3 | Mouse | Razer HID | 1532:0099 | Experimental |
| Razer BlackWidow V3 | Keyboard | Razer HID | 1532:024E | Experimental |
| Razer BlackWidow V3 Tenkeyless | Keyboard | Razer HID | 1532:0A24 | Experimental |
| Razer DeathAdder V2 | Mouse | Razer HID | 1532:0084 | Experimental |
| Razer DeathAdder V2 Mini | Mouse | Razer HID | 1532:008C | Experimental |
| Razer Huntsman Mini Analog | Keyboard | Razer HID | 1532:0282 | Experimental |
| Razer Viper Ultimate | Mouse | Razer HID | 1532:007A 1532:007B | Experimental |
| Any Windows Dynamic Lighting device | Keyboard / mouse | Windows Dynamic Lighting | — | LampArray |
“Experimental” definitions are based on public protocol research and haven't been confirmed on hardware yet — reports are welcome.
For supported devices, yes: per-key lighting, hardware effects, brightness, DPI stages, polling rate, battery and onboard profiles. KeyHalo is free, open source, needs no account and has no telemetry. It doesn't update firmware and supports fewer devices than Synapse, and Synapse-only features such as Razer's cloud sync aren't there. Don't run both at the same time: they would fight over the lighting.
OpenRGB is excellent for whole-PC RGB — motherboards, RAM, GPUs, fans — on Windows, Linux and macOS, and supports far more hardware. KeyHalo focuses on keyboards and mice and adds what OpenRGB doesn't aim to do: DPI and polling rate, per-app keymaps and macros, a typing trainer and a test bench. They work together: KeyHalo can drive OpenRGB devices through its SDK server.
SignalRGB has a large effect library and many game integrations, with some features behind a paid tier, and it is closed source. KeyHalo is MIT-licensed and free forever; its effects, profiles and device definitions are shared openly on GitHub, but its library is younger and smaller.
KeyHalo never flashes firmware. It only sends the same documented runtime commands that lighting tools use, captures your current settings before the first change so you can restore them, and has a Safe mode that never writes to hardware.
KeyHalo doesn't inject into games or install kernel drivers. Remapping and macros pause automatically in competitive games on a configurable list (Rainbow Six Siege, Valorant, Apex Legends…). Lighting is unaffected. Always follow each game's rules about macros.
Windows 10 and 11 today. Linux (via OpenRazer and hidraw) and macOS are on the roadmap; the device protocols are written in TypeScript, so most of the work is shared.
Profiles, keymap packs, effects, device definitions and typing packs are plain files on GitHub, validated automatically on every pull request.
Browse the gallery in the app or on this site and install anything — risky macros are shown for review first.
Sign in with GitHub and share any profile or keymap as a gist link that opens straight in KeyHalo.
Publish from the app — it opens a pull request for you — or add a JSON file by hand. Adding a device needs no code.