ScreenFX turns an Alienware laptop keyboard into a low-latency extension of the screen. It captures the primary display, builds a cinematic 10x6 color field, and streams it directly to all 93 keyboard LEDs through the Darfon V5 controller.
Optional Windows loopback audio analysis adds stereo-aware impacts, bass pulses, music movement, and scene-cut emphasis.
Currently verified on:
- Alienware 16 Area-51 AA16250 Advanced Keyboard
- USB VID/PID
0D62:1BBC - Darfon lighting API V5
- Windows 11
The keyboard ID and 93-key layout are currently model-specific. Other Alienware laptops may use the same protocol but need a new VID/PID and key map. Contributions for additional models are welcome.
Download a build or build the project locally. Keep the generated folder structure intact, then run:
Start ScreenFX.cmd: stable screen-reactive modeStart ScreenFX Audio.cmd: screen and system-audio reactive modeStop ScreenFX.cmd: stop ScreenFX and restart Alienware Command Center FX
ScreenFX temporarily stops AlienFXSubAgent.exe while running because AWCC and
direct hardware control cannot safely own the keyboard at the same time. A
native ownership guard prevents Dell TechHub from silently relaunching AWCC's
lighting processes and taking the keyboard back while ScreenFX is active.
Requirements:
- Windows 11
- Rust stable toolchain
- Visual Studio 2022 Build Tools with Desktop development with C++
Build from PowerShell:
.\build.ps1The ready-to-run package is created in outputs\.
screenfx.exe --fps 20 --lighting-fps 20 --brightness 1.20 --saturation 2.00 --smoothing 0.72
--fps N: screen analysis rate, 1-60--lighting-fps N: keyboard write rate, 1-36--brightness N: output brightness, 0.0-2.0--saturation N: color saturation, 0.0-2.0--smoothing N: previous-color weight, 0.0-0.95--no-audio: disable audio-reactive effects--preview: analyze and print colors without touching keyboard lighting
src/main.rs: screen capture, cinematic color engine, and audio responsenative/darfon_bridge.cpp: direct 93-key Darfon V5 lighting outputnative/audio_meter.cpp: Windows loopback audio analyzervendor/alienfx-sdk: required subset of the MIT-licensed AlienFX SDK
ScreenFX sends temporary lighting commands only. It does not flash firmware or save boot-time lighting profiles. Stop ScreenFX before opening AWCC lighting controls.
ScreenFX is available under the MIT License. The vendored AlienFX SDK subset is
also MIT licensed; see THIRD_PARTY_NOTICES.md.