1
0
mirror of https://github.com/MatMoul/g810-led.git synced 2025-01-10 08:25:35 +00:00
Linux led controller for Logitech G213, G410, G413, G512, G513, G610, G810, g815, G910 and GPRO Keyboards
Go to file
Kevin Pearson 4b2a1002e8 Add support for opening a specific device
Allow filtration and matching of specified Device ID, Product ID, Serial
Number

Fix an issue in listKeyboards (hidapi) with an out of bounds search when
using serial number

Fix possible null reference problem in listKeyboards (hidapi) that
caused rare segfaults when traversing the device enumeration in
increments of two

Fix handling of output of listKeyboards (hidapi) where it was
incrementing the dev list pointer, then accessing the node to look for
device serial number (potential security risk)

Fix handling of serial number output of listKeyboards (hidapi) to handle
wchar_t instead of outputting the memory address

Fix issue in listKeyboards (libusb) failure to finish cleaning up USB
contexts, leading to a segfault if calling a separate function after
listing keyboards.

Fix issue in close (libusb) segfaulting if m_hidHandle was null, so
added a check.

Modify listKeyboards to provide a vector of DeviceInfo objects that can
be used by calling applications instead of outputting to stdout directly.

Implement a struct to hold information regarding device information and
ability for a library caller to query this information to make decisions
about the currently targeted device.

Signed-off-by: Kevin Pearson <pearson.kevin.m@gmail.com>
2017-04-28 16:18:37 -04:00
sample_effects Add sample python effect 2017-03-18 21:52:57 +01:00
sample_profiles Add gkeys 2017-03-18 22:10:45 +01:00
src Add support for opening a specific device 2017-04-28 16:18:37 -04:00
systemd Update systemd service 2017-01-15 00:33:12 +01:00
udev Finalization of g213 support 2017-04-21 23:00:21 +02:00
.gitignore Add kdev4 file 2017-04-14 02:10:13 +02:00
CONTRIBUTORS.md Finalization of g213 support 2017-04-21 23:00:21 +02:00
INSTALL.md Implement device IO as a shared library 2017-04-10 16:07:08 -04:00
LICENSE Switch from LGPLv3 to GPLv3 2016-12-06 21:59:14 +01:00
makefile Version 0.2.0 2017-04-21 23:08:03 +02:00
makerelease Update makerelease 2017-04-14 03:08:04 +02:00
README.md Finalization of g213 support 2017-04-21 23:06:36 +02:00
TODO.md Update TODO 2017-03-24 23:26:38 +01:00

g810-led

Linux led controller for Logitech G213, G410, G610, G810 and G910 Keyboards.

Compatible keyboards :

  • G213 Prodigy
  • G410 Atlas Spectrum
  • G610 Orion Brown
  • G610 Orion Red
  • G810 Orion Spectrum
  • G910 Orion Spark
  • G910 Orion Spectrum

Contribute and evolution :

Install :

Help :

g410-led --help
g610-led --help
g810-led --help
g910-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 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

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