Logitech G13 Linux driver with macro support, RGB control, and LCD display management
Project description
G13 Linux
Python userspace driver for the Logitech G13 Gaming Keyboard on Linux.
Features
- 22 Programmable G-Keys with macro support
- RGB Backlight Control with full color range
- 160x43 LCD Display with custom text and graphics
- Thumbstick Support with configurable zones
- Profile Management for different applications
- PyQt6 GUI for visual configuration
Installation
# From PyPI
pip install g13-linux
# Or with pipx (recommended for CLI tools)
pipx install g13-linux
System Dependencies
# Ubuntu/Debian
sudo apt install libhidapi-hidraw0
# Fedora
sudo dnf install hidapi
udev Rules (Required)
# Allow non-root access to G13
sudo cp udev/99-logitech-g13.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
Usage
CLI
g13-linux --help # Show help
g13-linux --version # Show version
g13-linux # Run the input daemon
GUI
g13-linux-gui # Launch the configuration GUI
Python API
from g13_linux import open_g13, G13Mapper
# Open device and start mapping
device = open_g13()
mapper = G13Mapper()
# Read events
while True:
data = read_event(device)
if data:
mapper.handle_raw_report(data)
Hardware
| Component | Status |
|---|---|
| G1-G22 Keys | ✅ Working |
| M1-M3 Mode Keys | ✅ Working |
| MR Key | ✅ Working |
| Thumbstick | ✅ Working |
| LCD Display | ✅ Working |
| RGB Backlight | ✅ Working |
Note: Button input requires either:
- udev rules for hidraw access, or
sudowith libusb mode (g13-linux-gui --libusb)
Linux kernel 6.19+ will include native hid-lg-g15 support for G13.
Development
# Clone and setup
git clone https://github.com/AreteDriver/G13_Linux.git
cd G13_Linux
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
# Run tests
pytest
# Lint
ruff check src/ tests/
License
MIT License - see LICENSE for details.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
g13_linux-1.1.6.tar.gz
(60.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
g13_linux-1.1.6-py3-none-any.whl
(58.6 kB
view details)
File details
Details for the file g13_linux-1.1.6.tar.gz.
File metadata
- Download URL: g13_linux-1.1.6.tar.gz
- Upload date:
- Size: 60.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7cc9d5f02d99bdb26ab0f5c0cd1f85c20af554970bce94606f3e9003c8290b03
|
|
| MD5 |
d37712c7a093ab9e4ae0911372570c10
|
|
| BLAKE2b-256 |
a3eb17b5242cb5b12a44e37e7176f1176a968b448ce88072852d3782cb1f531c
|
File details
Details for the file g13_linux-1.1.6-py3-none-any.whl.
File metadata
- Download URL: g13_linux-1.1.6-py3-none-any.whl
- Upload date:
- Size: 58.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c83843352871aa5a86e880c6c56502bab7c64eca3a1eb7f62de69fb078d88a8d
|
|
| MD5 |
5f3cfdfeaaa263de52fe7136e56754c4
|
|
| BLAKE2b-256 |
12e751b2074a6010b104c6bdfc7962c6cfb77a978a967ffdf38b96ce1a7e054e
|