A modern, standalone Linux alternative to Elgato's Control Center for Controlling Key Light devices. Native Linux support for both X11 and Wayland. Does not collect any data or "call home" unlike other spyware.
- π Automatic device discovery via mDNS/Bonjour
- π¨ Modern dark theme UI styled to match professional control software
- π‘ Real-time brightness control (1-100% - prevents accidental off)
- π‘οΈ Color temperature control (2900K-7000K)
- π§ System tray integration with minimize/restore
- β‘ Smooth, throttled updates to prevent device overload
- π₯οΈ Native Wayland and X11 support - works everywhere
- π Single instance enforcement - no duplicate windows
- π¦ Standalone binary - no installation required
- π Dynamic window sizing - adjusts to number of devices
- β¨οΈ Keyboard shortcuts for quick control
- Linux: All major distributions (Ubuntu, Fedora, Arch, Debian, etc.)
- Display Servers: X11, Wayland, XWayland
- Python: 3.8 or higher
- Qt: Uses PySide6 (Qt6)
- Go to Releases
- Download
keylight-controller-linux-x64.tar.gz - Extract and run:
tar -xzf keylight-controller-linux-x64.tar.gz
chmod +x keylight-controller
./keylight-controllerThat's it! No installation required.
# Download from releases page
wget https://github.com/sandwichfarm/keylight-control/releases/latest/download/keylight-controller-linux-x64.tar.gz
tar -xzf keylight-controller-linux-x64.tar.gz
chmod +x keylight-controller
./keylight-controller
# Optional: Install system-wide
sudo mv keylight-controller /usr/local/bin/- Python 3.8+ (
python3 --version) - pip package installer
# Clone the repository
git clone https://github.com/sandwichfarm/keylight-control.git
cd keylight-control
# Install dependencies
pip3 install --user -r requirements.txt
# Make executable
chmod +x keylight_controller.py
# Run
./keylight_controller.py# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run
python keylight_controller.pyFor Arch Linux:
sudo pacman -S python-pyside6 python-aiohttp python-zeroconf
pip install --user qasyncFor Ubuntu 22.04+:
sudo apt install python3-pyside6.qtcore python3-pyside6.qtgui python3-pyside6.qtwidgets
pip3 install --user aiohttp zeroconf qasync# Copy the desktop file
cp keylight-controller.desktop ~/.local/share/applications/
# Update desktop database
update-desktop-database ~/.local/share/applications/# Create symlink in local bin
ln -s $(pwd)/keylight_controller.py ~/.local/bin/keylight-controller
# Ensure ~/.local/bin is in PATH (add to ~/.bashrc if needed)
export PATH="$HOME/.local/bin:$PATH"- From Terminal:
./keylight_controller.pyorkeylight-controller - From Desktop: Search for "Keylight Control" in your application launcher
- Power Button: Toggle light on/off
- Brightness Slider: Adjust light intensity (1-100%)
- Temperature Slider: Adjust color temperature (2900K-7000K)
- System Tray: Click to show/hide, right-click for menu
- Ctrl+Q: Quit application
- Escape: Minimize to system tray
- Shift+Click X: Force quit (bypass tray)
pip3 install --user PySide6For Wayland:
export QT_QPA_PLATFORM=waylandFor X11:
export QT_QPA_PLATFORM=xcbIf you get permission errors with pip:
pip3 install --user -r requirements.txtIf you have multiple Python versions:
python3.8 -m pip install -r requirements.txt
python3.8 keylight_controller.py- Ensure devices are on the same network
- Check firewall settings for mDNS (port 5353)
- Verify devices are powered on
- PySide6: Qt6 bindings for Python
- aiohttp: Async HTTP client
- zeroconf: mDNS service discovery
- qasync: Qt async event loop integration
GPL-3.0
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
