I’d like to discuss the possibility of adding two small libraries I have written to Kaleidoscope’s core. These were originally for my LED control plugin, FunctionalColor.
What these do is fairly simple:
colors.h Provides a list of human-friendly English color names, using the CSS color names. Additionally this offers a dim() function to change the brightness from 100% (255) to 0.
keygroups.h Provides functions to determine which “group” of keys, a key is in, or if it fits into a given category.
Both of these plugins are very useful/essential for the way FunctionalColors works but I think they would be really useful for anyone dabbling in customizing their keyboard layout, even if just to be able to have access to easy color names and a simple way to change the brightness of keys.
keygroups.h would be useful for more advanced uses but FunctionalColors uses it to easily assign colors to groups of keys, saving a user from assigning each and every key individually.
They have been written (with lots of help from @noseglasses) to be extremely efficient and I believe this functionality uses no memory in firmware.
Would I have support from the maintainers of kaleidoscope for integrating this functionality into the core of kaleidoscope for the use of users and plugin developers? If so, what changes (if any) would be required? (Likely there are some namespace considerations, and perhaps some contention about which keygroups should be included).