Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/MatMoul/g810-led

Linux led controller for Logitech G213, G410, G413, G512, G513, G610, G810, g815, G910 and GPRO Keyboards
https://github.com/MatMoul/g810-led

g213 g410 g413 g512 g513 g610 g810 g815 g910 gpro logitech logitech-gaming

Last synced: about 2 months ago
JSON representation

Linux led controller for Logitech G213, G410, G413, G512, G513, G610, G810, g815, G910 and GPRO Keyboards

Awesome Lists containing this project

README

        

# g810-led

Linux led controller for Logitech G213, G410, G413, G512, G513, G610, G810, G815, G910 and GPRO Keyboards.

## Compatible keyboards :
- **G213 Prodigy**
- **G410 Atlas Spectrum**
- **G413 Carbon**
- **G512 Carbon**
- **G513 Carbon**
- **G610 Orion Brown**
- **G610 Orion Red**
- **G810 Orion Spectrum**
- **G815 LIGHTSYNC**
- **G910 Orion Spark**
- **G910 Orion Spectrum**
- **GPRO**

## Contribute and evolution :
* [CONTRIBUTING.md](https://github.com/MatMoul/g810-led/blob/master/CONTRIBUTING.md)

## Install :
* [INSTALL.md](https://github.com/MatMoul/g810-led/blob/master/INSTALL.md)

## Profiles :

You can load predefined configurations on startup!
* [PROFILES.md](https://github.com/MatMoul/g810-led/blob/master/PROFILES.md)

## Help :
`g213-led --help`
`g410-led --help`
`g413-led --help`
`g512-led --help`
`g513-led --help`
`g610-led --help`
`g810-led --help`
`g815-led --help`
`g910-led --help`
`gpro-led --help`

`g810-led --help-keys`
`g810-led --help-effects`
`g810-led --help-samples`

## Samples :
`g810-led -p /etc/g810-led/profile # Load a profile`
`g810-led -k logo ff0000 # Set color of a key`
`g810-led -a 00ff00 # Set color of all keys`
`g810-led -g fkeys ff00ff # Set color of a group of keys`
`g810-led -s color # Set keyboard power on effect`
`g810-led -fx color keys 00ff00 # Set fixed color effect`
`g810-led -fx breathing logo 00ff00 0a # Set breathing effect`
`g810-led -fx cycle all 0a # Set color cycle effect`
`g810-led -fx hwave keys 0a # Set horizontal wave effect`
`g810-led -fx vwave keys 0a # Set vertical wave effect`
`g810-led -fx cwave keys 0a # Set center wave effect`

## Samples with no commit :
`g810-led -an 000000 # Set color of all key with no action`
`g810-led -gn modifiers ff0000 # Set color of a group with no action`
`g810-led -kn w ff0000 # Set color of a key with no action`
`g810-led -kn a ff0000 # Set color of a key with no action`
`g810-led -kn s ff0000 # Set color of a key with no action`
`g810-led -kn d ff0000 # Set color of a key with no action`
`g810-led -c # Commit all changes`

## Samples for G610 :
`g610-led -a 60 # Set intensity of all keys`
`g610-led -k logo ff # Set intensity of a key`
`g610-led -g fkeys aa # Set intensity of a group of keys`

## Samples for G213 :
`g213-led -a 00ff00 # Set all keys green`
`g213-led -r 1 ff0000 # Set region 1 red`

## Samples with pipe (for effects) :
`g810-led -pp < profilefile # Load a profile`
`echo -e "k w ff0000\nk a ff0000\nk s ff0000\nk d ff0000\nc" | g810-led -pp # Set multiple keys`

## Testing unsupported keyboards :
Start by retrieving the VendorID and the ProductID of your keyboard using lsusb.
`lsusb`
Sample return :

`Bus 001 Device 001: ID 046d:c331 Logitech, Inc.`
In this sample VendorID is 046d and ProductID is c331. Now test your keyboard with all supported protocol (for 2019 keyboard start with -tuk 4):
`g810-led -dv 046d -dp c331 -tuk 1 -a 000000`
If your keyboard set all key to off you have found the protocol (1), if not continue.
`g810-led -dv 046d -dp c331 -tuk 2 -a 000000`
If your keyboard set all key to off you have found the protocol (2), if not continue.
`g810-led -dv 046d -dp c331 -tuk 3 -a 000000`
If your keyboard set all key to off you have found the protocol (2), if not continue.
`g810-led -dv 046d -dp c331 -tuk 4 -a 000000`
If your keyboard set all key to off you have found the protocol (3), if not, need new dump.

## Building and linking against the libg810-led library :
Include in implementing source files.
```cpp
#include
```
To link, simply provide `-lg810-led` to the build flags.

To build the g810-led application as a dynamically-linked variant, run the target:
`make bin-linked`

## Dumps :
Dumps of keyboards are now stored in a separate project to preserve a small download size of this project.
You can find them here : [https://github.com/MatMoul/g810-led-resources](https://github.com/MatMoul/g810-led-resources)