Skip to content

KaganCubukcu/g213-lightcontrol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

G213 Light Controller

A simple GUI application to control the RGB lighting of the Logitech G213 Prodigy keyboard on Linux.

Built as a graphical user interface for the g810-led project by MatMoul. This application brings the powerful CLI capabilities of g810-led to a user-friendly window, providing an intuitive way to manage your keyboard's lighting.

Features

  • 🎨 Color Picker to select any RGB color
  • ⚡ Preset buttons for quick access (Red, Green, Blue, White)
  • 💾 Remembers your last color and reapplies it on startup
  • 🌙 Modern dark-themed interface

Requirements

  • OS: Linux (tested on Linux Mint)
  • Keyboard: Logitech G213 Prodigy
  • Python: 3.10+
  • System package: g810-led

Installation

1. Install System Dependencies

sudo apt update
sudo apt install g810-led libxcb-cursor0

2. Setup Permissions

To use the app without sudo, run the included setup script:

bash setup_permissions.sh

Note: After running the script, unplug and replug your keyboard for the new permissions to take effect.

Or set up manually
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="c336", MODE="0666"' | sudo tee /etc/udev/rules.d/99-g213.rules
sudo udevadm control --reload-rules && sudo udevadm trigger

3. Install Python Dependencies

python3 -m venv venv
source venv/bin/activate
pip install PyQt6

Usage

./venv/bin/python main.py

Troubleshooting

Problem Cause Solution
g810-led failed with code 2 Permission denied Run bash setup_permissions.sh and replug keyboard
No module named 'PyQt6' Virtual environment not active Run source venv/bin/activate first
Could not load Qt platform plugin "xcb" Missing system library sudo apt install libxcb-cursor0

Project Structure

├── main.py            # Entry point
├── src/
│   ├── gui.py         # PyQt6 interface
│   ├── led_ctrl.py    # g213-led command wrapper
│   └── config_mgr.py  # JSON config handler
├── setup_permissions.sh  # Udev rule setup
└── config.json        # Saved settings (auto-generated)

Credits

This project would not be possible without g810-led by MatMoul. It provides the core LED control functionality for Logitech G-series keyboards on Linux.

Status & Roadmap

🚧 In Development — While the core functionality (MVP) is ready, I am actively working on turning this into a comprehensive control center.

Planned Features (Milestones):

  • Milestone 1: Advanced Zone Control — Interactive 5-zone keyboard map with a modern "Glassmorphism" UI.
  • Milestone 2: Audio Visualizer — Real-time music sync using FFT analysis to map system audio to keyboard LEDs.
  • Milestone 3: Dynamic Effects — Integration of Wave, Breathing, and Color Cycle modes with speed control.
  • Milestone 4: User Profiles — Save and load custom lighting presets and sensitivity configurations.
  • System Tray Support — Minimize to tray and switch profiles via context menu.

License

MIT

About

Simple Linux GUI for managing Logitech G213 keyboard RGB colors and presets.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors