My Corsair K70 RGB keyboard controller and API using linux ckb driver
C++ Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
easybmp
.gitignore
AnimationEffect.cpp
AnimationEffect.hpp
BreathingEffect.cpp
BreathingEffect.hpp
ColorProvider.cpp
ColorProvider.hpp
CyclicColorProvider.cpp
CyclicColorProvider.hpp
DataTypes.cpp
DataTypes.hpp
DeviceController.cpp
DeviceController.hpp
Effect.cpp
Effect.hpp
FileDevice.cpp
FileDevice.hpp
LinearEffect.cpp
LinearEffect.hpp
NoDeviceException.cpp
NoDeviceException.hpp
README.md
RaindropsEffect.cpp
RaindropsEffect.hpp
RandomColorProvider.cpp
RandomColorProvider.hpp
RandomEffect.cpp
RandomEffect.hpp
SignalInterface.cpp
SignalInterface.hpp
rtbyte

README.md

clkb

This project is nothing but my experiment with ckb driver.
It attempts to deliver simple API to control Corsair K70 RGB (Lux) keyboard leds.
I use it for hard-coded effects and easy command-line live (like daemon) control from scripts, but it could be used to make CLI controller instead of GUI one.

Features

  • extensive methods to provide convenient control from code
  • mapping keys to 2D
  • works with different frame-rates
  • supports effects stack
  • some pre-made effects (e.g. breathing, slowly changing colors, bitmap animations, raindrops)
  • signal-interface allowing to easily bind RTMIN signals to commands
  • supports Corsair K70 RGB

Dependencies

You need K70 (can be different model if you alter key tables a little) keyboard, Linux and ckb driver.
It is C++14, almost C++11, but I had some more than usual fun with std::chrono here, great modern API, if you decide to use it I hope you will like chrono as well. I think it should be fine with C++11 if time literals are removed.
It requires easybmp library for AnimationEffect. It is tiny lib so I included it along.

License

MIT license