Skip to content

22manohar/screenfx-alienware

Repository files navigation

ScreenFX

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.

Compatibility

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 And Run

Download a build or build the project locally. Keep the generated folder structure intact, then run:

  • Start ScreenFX.cmd: stable screen-reactive mode
  • Start ScreenFX Audio.cmd: screen and system-audio reactive mode
  • Stop 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.

Build

Requirements:

  • Windows 11
  • Rust stable toolchain
  • Visual Studio 2022 Build Tools with Desktop development with C++

Build from PowerShell:

.\build.ps1

The ready-to-run package is created in outputs\.

Command-Line Options

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

Architecture

  • src/main.rs: screen capture, cinematic color engine, and audio response
  • native/darfon_bridge.cpp: direct 93-key Darfon V5 lighting output
  • native/audio_meter.cpp: Windows loopback audio analyzer
  • vendor/alienfx-sdk: required subset of the MIT-licensed AlienFX SDK

Safety

ScreenFX sends temporary lighting commands only. It does not flash firmware or save boot-time lighting profiles. Stop ScreenFX before opening AWCC lighting controls.

License

ScreenFX is available under the MIT License. The vendored AlienFX SDK subset is also MIT licensed; see THIRD_PARTY_NOTICES.md.

About

Low-latency screen and audio reactive per-key lighting for Alienware keyboards

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors