Skip to content

rdevz-ph/Keyboard-LED-Manager

Repository files navigation

Keyboard LED Manager

Keyboard LED Manager is a utility built in C# (WPF) designed to control the RGB keyboard backlighting on compatible laptops (originally designed for Clevo hardware, but compatible with various Acer gaming/backlit laptops and other systems sharing similar motherboard platforms).

Preview

Keyboard LED Manager Preview

Getting Started

First-Time Use

On the first launch, the application registers the ACPI WMI schema on the host system to map motherboard hardware methods. A system reboot is required after this first-time registration to activate the driver mapping in Windows. Once registered, the application operates as a standalone portable utility.

Important

Administrator Privileges Required: The application is configured to request Administrator elevation on launch. This is necessary because Windows restricts access to low-level hardware control namespaces (root\WMI) to elevated accounts only. Running as a standard user results in Access Denied errors, blocking the utility from sending light and color commands to the motherboard BIOS/ACPI.

How to Use

  1. Launch: Run LED Manager.exe.
  2. Select Color: Click on a color swatch in the Color Palette or use the Custom Color... button to pick a specific RGB value.
  3. Adjust Zones: Click on the keyboard preview cards to apply colors to specific zones (if supported by your hardware).
  4. Configure Settings: Use the right-hand dashboard to set:
    • Backlight Brightness: From Off to 100%.
    • Sleep Timeout: How long the backlight stays on during inactivity.
    • Lighting Effects: Choose from various animations like Wave, Breath, or Cycle.
  5. Background Operation: Use the Minimize to Tray button to keep the manager active in the notification area.

Current Features

  • Full RGB Control: Precise color selection for single-zone or multi-zone (Left, Middle, Right) keyboards (features vary depending on your laptop's hardware capabilities).
  • Brightness Management: Five granular levels of brightness control.
  • Smart Inactivity Timeout: Automatically turn off LEDs when the laptop is idle to save power.
  • Animation Engine: Built-in effects including Cycle, Wave, Dance, Tempo, Flash, and Breath.
  • Experimental Color Cycle: A dedicated mode to rotate through colors at customizable intervals.
  • Modern Dark UI: A clean, hardware-focused interface designed for high-end gaming laptops.
  • Windows Integration: Option to autostart with Windows and minimize to the system tray.
  • Hardware Safe & Thread-Safe: Communications are synchronized and serialized to avoid hardware locking, controller freezes, or driver crashes.

How it Works Under the Hood

The application acts as a bridge between the user interface and the laptop's embedded controller (EC) via ACPI/WMI:

  1. WMI ACPI Mapper (Plug and Play device PNP0C14): Windows motherboard drivers register a hardware mapping interface under the Plug and Play device ID PNP0C14. This acts as a standard channel for user-mode software to call driver functions in the BIOS/ACPI layers.

  2. Automatic BIOS WMI Registration: Compatible laptop motherboards define the custom keyboard control methods inside their BIOS ACPI DSDT table. The Windows standard ACPI driver (wmiacpi.sys) automatically reads, compiles, and registers these methods under the WMI namespace (root\WMI) as the class CLEVO_GET during Windows startup. No extra system DLL registration or binary files are needed.

  3. WMI Command Execution: The application invokes these ACPI WMI methods (using CLEVO_GET.InstanceName='ACPI\PNP0C14\0_0') with structured numeric data packets representing target color codes and control commands. The execution of WMI methods is thread-safe and serialized to ensure BIOS/motherboard stability.


Files Written to the System

When running the LED Manager, only the following configuration assets are created or modified on the host operating system:

Application Configuration (User Settings)

  • %LOCALAPPDATA%\rdevz-ph\LED_Manager_Url_[hash][version]\user.config Fully resolved as: C:\Users\[Username]\AppData\Local\rdevz-ph\... This is a standard .NET XML application settings file. It stores active configuration profiles, including selected colors, lighting effects, inactivity sleep timeouts, and program state.

Registry Entries Modified

The application makes modifications only to user-level registry keys, requiring no administrative privileges:

Windows Boot Startup (Optional)

  • Key Pathway: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • Subkey Name: LEDmanager
  • Modified Value: Sets this to the path of the compiled LED Manager.exe executable (only if the "Start with Windows" setting is enabled within the application).

How to Safely and Completely Remove

The application includes a built-in cleanup utility to revert all settings.

Recommended Method: Built-in Uninstaller

  1. Find the Keyboard LED Manager icon in your system tray (notification area).
  2. Right-click the icon to open the context menu.
  3. Select Uninstall and Clean up.
  4. Confirm the action in the dialog box. The application will remove its startup registry entry and configurations before shutting down.

Manual Cleanup (Alternative)

If you have already deleted the application or cannot access the tray menu, follow these manual steps:

Step 1: Clean Up Application Settings

  1. Press Win + R, type %LOCALAPPDATA%, and click OK.
  2. Locate and delete the rdevz-ph folder to purge all saved profiles and settings.

Step 2: Revert Registry Changes

  1. Press Win + R, type regedit, and click OK (no Administrator rights needed for HKCU).
  2. Navigate to: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  3. Delete the LEDmanager value.

(Note: If you are upgrading from a legacy version of the app, the built-in uninstaller will also safely attempt to clean up any old clevomof.dll files in C:\Windows\SysWOW64 and old startup registry entries in HKLM if administrative permissions are available).


Building and Publishing

The project is configured to automatically embed LEDLib.dll inside LED Manager.exe during the build process and resolve it dynamically at runtime. This means compiling the project natively generates a single standalone, self-contained executable.

You can use the provided publish.bat script to build, or run the command manually:

Compile the Single-EXE Release Build

Use MSBuild to compile the solution under the Release configuration for the x64 platform:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe "LED Manager.sln" /t:Clean,Build /p:Configuration=Release /p:Platform="x64"

This outputs and copies the single, self-contained standalone executable to:

  • LED Manager\bin\Release\publish\LED Manager.exe

You can copy this single LED Manager.exe file anywhere on your system and run it independently (there is no need to copy LEDLib.dll or any other dependencies with it).


Credits

This project is based on the original work by rzrwolf. Source: rzrwolf/LED-manager-for-Clevo


License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Keyboard LED Manager is a utility built in C# (WPF) designed to control the RGB keyboard backlighting on compatible laptops (originally designed for Clevo hardware, but compatible with various Acer gaming/backlit laptops and other systems sharing similar motherboard platforms).

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors