Released on June 15th, 2020
Misc:
- Add M-keys and MR-keys manipulation support in hardware library.
Bugfixes:
- Fix compilation using gcc 10 — #49, courtesy of @domrim.
- Fix python bindings for libkeyleds — #52.
- Fix failure on some versions of Xlib — #40.
Released on April 21st, 2019
New features:
- Add G-key manipulation support in hardware library and command-line tool.
- Added heatmap effect to track most frequently used keys.
Misc:
- Many code quality improvements.
Bugfixes:
- Fix compilation using gcc 9.
- Command line tool no longer truncate feature identifiers.
- Add workaround for g510 to account for its much slower speed when updating leds — #34.
Released on March 2nd, 2019
New features:
- Layout files for G213 and G513 have been added — #34.
- Wave effect can now be used as static color cycle. Simply pass it length: 0 — #27.
- Configuration file now supports nested key groups — #30.
- Configuration file now supports custom color aliases — #31.
- Fill effect no longer ignores opacity and can now be used for transparency effects — #33.
- It is now possible to force-refresh key colors by sending SIGUSR1 to keyledsd — #34.
Misc:
- Layout files now use a more compact format.
- Many tiny speed improvements.
- Program size reduced by ~20%.
- When keyboard layout is unknown, keyledsd now tries to fallback to international layout. — #29.
- Major refactor opens the way to supporting G-keys in a future release.
Bugfixes:
- Feedback effect no longer crashed with option decay: 0 — #29.
- Logo has been added to GPro layouts — #29.
- Logs generated by keyledsd now follow systemd conventions.
Released on February 1st, 2019
The is a maintenance release, with many technical improvements:
- Drop Qt dependency, and use libuv and sd-bus instead (much lighter).
- Switch from C++14 to C++17.
- Simplify many datastructures and matching code.
- Fix many sign inconsistencies that could have introduced bugs.
Released on November 17th, 2018
Bugfixes:
- Add names for logo and status leds for G610, G810 and GPro — #22, #26.
Released on September 16th, 2018
Bugfixes:
- Fix invalid layout files.
Released on September 16th, 2018
Bugfixes:
- Skip Qt cross-compilation workaround when not building the service — #25.
- Loading an empty effect list no longer causes flicker.
- Layout files now blacklist spurious keys, which should fix US backslash issues — #22.
Released on August 29th, 2018
Bugfixes:
- Fix crash in device detection when encountering non-usb hid devices. Fixes #24.
Released on July 28th, 2018
Features:
- New demo effect included: whack-a-mole game. In default config, will start whenever current window includes the “mole” word.
Bugfixes:
- Fix crash of wave effect occuring when no layout is loaded.
- Provide aliases for GPro keyboards layout. Fixes #22.
Misc:
- Drop support for MMX instructions. SSE2 and AVX2 are enough.
- Compile with -ffast-math by default.
Released on March 22th, 2018
Features:
- New effect included: idle-dim, that dims keyboard lights when it is not used.
- [Lua API] RenderTarget now supports a fill() and multiply() method.
- [Lua API] RGBAColor now supports addition/substraction/multiplication and divisions.
Replaces failed releases 0.7.2 and 0.7.3
Released on January 28th, 2018
Bugfixes:
- Fix crash on keyboards that report an empty key block (most notably G910) — #15.
- Add missing log and badge names in G910 layout files — #17.
- No longer silently skip LUA when the dependency is missing.
Released on November 15th, 2017
Features:
- Plugin API now exposes distance and angle between keys, both in LUA and C++.
Bugfixes:
- Multimedia keys are now properly detected on G810 — see #13.
- Keys that devices fail to report are now read from layout file. This fixes unrecognized modifier keys on G810. — see #13.
Released on October 27th, 2017
Features:
- The LUA scripting engine is there. Start writing your LUA effects now!
- A few sample effects are included, check them out.
Bugfixes:
- Having no default profile in the configuration no longer crashed the service.
Released on October 14th, 2017
Features:
- Add AVX2 optimization for blending.
Bugfixes:
- Fix crash on G810 due to incorreclty passing actual number of keys to blend (instead of up-aligned target capacity, required for SSE2). — issue #10.
Released on October 8th, 2017
Features:
- Feedback effect now uses sustain+decay timings instead of straight duration.
Key color remains still for
sustain
milliseconds, then fades indecay
milliseconds. The oldduration
configuration key is no longer recognized.
Bugfixes:
- Missing (defaulted) parameters in plugin configurarion no longer cause the service to crash.
Released on October 7th, 2017
Features:
- Added layout descriptions for G610 and G910.
- Introduced the possibility to set custom context entries through DBus.
- Introduced the possibility to send both custom events and fake keypresses through DBus.
- Added online, instant-reloading of configuration.
- Introduced the new dynamic plugin architecture, laying the ground for third-party effects and in-engine scripting.
Bugfixes:
- No longer crashes when X display is not reachable.
- No longer sometimes lock up on startup due to race condition in device thread initialization.
Released on September 24th, 2017
Features:
- Added keypress feedback plugin.
- More generally, made keyboard events available to all plugins.
Bugfixes:
- Fixed compile errors on non-x86 platforms.
Released on September 19th, 2017
Bugfixes:
- Fixed errors when compiling with clang.
- Dropped Qt4 in favor of Qt5 for the event loop.
- HAL library no longer exposes internal symbols.
Released on September 15th, 2017
Features:
- Added layout descriptions for G810.
Bugfixes:
- Work around animation freeze when adjusting system time.
Released on August 29th, 2017
Bugfixes:
- Introduce a delay and multiple retry attempts to recover after an I/O error. Helps with keyboard diconnection when system comes back from sleep.
- Refactored the main animation loop to fix some race issues.
- Centralized logging and connected it to command line switches, so
-v
and-q
actually work.
Released on August 7th, 2017
Features:
- Added support for systemd user-acces permissions. This means the service will pause and resume animations when current session changes.
- Added stars effect plugin
- Added available plugins and device layout information to DBus interface.
Bugfixes:
- Fixed: hangs when system clock goes back in time.
- Fixed: I/O errors after the service was paused for some time and other tools communicated with it in the meantime.
Changelog added for version 0.3.3