What is SpaceFN and why you should give it a try
The SpaceFN concept - setting up your space key as a layer switch when held - is probably one of the most useful tweaks in the keyboard hobby. Let me explain how it works. My SpaceFN article on kbd.news made some rounds recently - quite surprisingly given the age of this concept. This piece you're reading is a condensed version of the full post. If you're left with unanswered questions, you'll most likely find the info you're looking for in the original write-up. On my imaginary top list of the most useful keyboard features, tweaks and hacks, SpaceFN would deserve a podium finish for sure. But what makes it so special? In short: SpaceFN is easy to implement, easy to learn, costs nothing, can be used with any keyboard, and can improve your productivity instantly. I will list its benefits below, but can state right at this point that the SpaceFN concept, setting up your space key as a layer switch when held, is clearly one of the most useful tweaks in the keyboard hobby....
Apr 30, 2024
Do custom effects like this get added to the FN+D list of effects to toggle?
What do you mean about fading out?
I looked at your github repo. Not sure where to start learning to do this. Can you point to some tutorials you like?
qmk_firmware/tmk_core/protocol/arm_atsam/led_matrix.c
You're looking for led_matrix_run(led_setup_t *f). Other than that: Good luck.
Here's my code producing fading: https://github.com/DarkMio/qmk_firmware/blob/master/tmk_core/protocol/arm_atsam/led_matrix.c#L338 Demonstration: https://i.miosblog.de/0z6SB.mp4
For example, this config https://github.com/matsprehn/qmk_firmware/blob/master/keyboards/massdrop/ctrl/led_programs.c#L69 ends up with this effect: https://tinyurl.com/yak8bsr3
Another example: https://github.com/matsprehn/qmk_firmware/blob/master/keyboards/massdrop/ctrl/led_programs.c#L63
https://tinyurl.com/yclbcxjw
The keyfade works together with scroll, subtract, no effect, and over, though the implementation of over is kind of hacky at the moment....
Generate a pixel, offset by a row per frame.
EDIT: Here's something I threw together: https://i.miosblog.de/OElO2.mp4 I'll reduce the randomness of the colors.
There are special functions `matrix_init_user`/`matrix_scan_user` and `process_record_user` (https://github.com/qmk/qmk_firmware/blob/master/docs/feature_macros.md) which are seemingly there to allow you to customize the keyboard's behavior. You can even use the keycodes there, instead of having to do your own magic.
Is it not possible from that position in the code to write to the RGB channels?
Here's what the effect look like: https://i.miosblog.de/nwFkl.mp4 - https://i.miosblog.de/h2X7h.mp4
The one I originally tried had think and thonk defined.