Skip to content

madebycm/LightKontrol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

LightKontrol

Control the Native Instruments Komplete Kontrol MK2 light guide without installing the proprietary Komplete Kontrol application. LightKontrol speaks directly to the keyboard over HID, so you can toggle the LEDs, experiment with palette values, and reclaim your workflow on machines where you cannot (or do not want to) install NI's software.

Why this exists

The Komplete Kontrol software can disable and recolor the MK2 light guide, but it is heavyweight, closed-source, and often off-limits on shared or locked-down systems. The HID protocol that powers the LEDs is undocumented, yet community researchers (notably SynthesiaKontrol) revealed the key messages. LightKontrol wraps those discoveries in a lightweight Python tool you can run anywhere Python and hidapi are available.

Features

  • Interactive REPL: enter palette numbers repeatedly and see the keyboard update instantly.
  • One-off mode: --color <value> sets a color and exits (great for scripting).
  • Remembers the last value you used for quicker iteration.
  • Zero dependency on the official Komplete Kontrol app or drivers.

Requirements

  • Python 3.9+ (tested on macOS 14)
  • hidapi Python bindings
  • A connected Komplete Kontrol MK2 keyboard (S49, S61, or S88)

Install the Python dependency:

python3 -m pip install --user hidapi

Usage

python3 lightkontrol.py

You will see an interactive prompt with known palette examples such as 25 -> 0x19 : green and 50 -> 0x32 : purple. Type any decimal or 0x-prefixed hexadecimal value between 0 and 255, press Enter, and the light guide updates immediately. Press d (or done) when you are finished experimenting.

Need a quick one-liner? Specify a value up front:

python3 lightkontrol.py --color 0
python3 lightkontrol.py --color 0x19

The first example turns the LEDs off; the second switches them to a bright green confirmed on an S49 MK2.

Tip: the script remembers your last value (stored in ~/.local/state/bluelightkeyboard/light_state.json) so you know where you left off.

Roadmap

  • Toggleable ranges (e.g. split the keyboard and assign separate palettes).
  • User-defined mappings from MIDI notes to colors.
  • Preset manager for quickly recalling favorite palettes.
  • Optional OSC/MIDI bridge for external control surfaces.

Credits

  • Olivier Jacques and contributors to SynthesiaKontrol for publishing the HID handshake that makes MK2 lighting possible without NI's software.
  • Everyone in the Native Instruments and Synthesia communities who kept asking for an open solution—this project exists for you.

Disclaimer

LightKontrol is an independent community project. Native Instruments neither endorses nor supports it, and the Komplete Kontrol trademarks belong to their respective owners. Use at your own risk.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages