07aa241058
Raw use of 0xFF as the effectpart byte is device-undefined and was implemented as a wrapper around mutliplle native effects calls as well as handling the indicators. Logic was previously implemented in the application, allowing for library use in this particular case to have undefined behavior. Signed-off-by: Kevin Pearson <pearson.kevin.m@gmail.com> |
||
---|---|---|
sample_effects | ||
sample_profiles | ||
src | ||
systemd | ||
udev | ||
.gitignore | ||
CONTRIBUTING.md | ||
CONTRIBUTORS.md | ||
INSTALL.md | ||
LICENSE | ||
makefile | ||
makerelease | ||
README.md |
g810-led
Linux led controller for Logitech G213, G410, G610, G810, G910 and GPRO Keyboards.
Compatible keyboards :
- G213 Prodigy
- G410 Atlas Spectrum
- G610 Orion Brown
- G610 Orion Red
- G810 Orion Spectrum
- G910 Orion Spark
- G910 Orion Spectrum
- GPRO
Contribute and evolution :
Install :
Help :
g213-led --help
g410-led --help
g610-led --help
g810-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/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 unsuported keyboards :
Start by retrieve the VendorID and the ProductID of your keyboard with 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 :
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 (3), if not, need new dump.
Building and linking against the libg810-led library :
Include in implementing source files.
#include <g810-led/Keyboard.h>
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