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
After spending all night trying to figure out the RGB on CTRL, I gave up. As far as I can tell, it’s not part of QMK RGBLighting, which is strictly for underglow. It’s not part of QMK Backlighting either as Fn+Z shows the backlights and underglow are actually managed together. It’s got to be a separate controller language. But I couldn’t figure out how to change the functions as I could not ever find them. I could only find led_programs but modifying them resulted in zero change.
Okay, if you haven't figured it out already, to modify RGB:
(1) update led_programs.c where: .hs, .he is start and end horizontal values .rs, .re is start and end red values .gs, .ge is start and end green values .bs, .be is start and end blue values
(2) move the animation from the list of available animations to the top of the list to set your default type Example: void *led_setups[] = { leds_blue, leds_rainbow_s, leds_rainbow_ns, leds_teal_salmon, leds_yellow, leds_red, leds_green, leds_white, leds_white_with_red_stripe, leds_black_with_red_stripe, leds_off };
(3) Go to TMK_Core/protocol/arm_atsam and modify led_matrix.c if you want to update CAPS Lock RGBs. Modify this code per your tinkering (here's mine): if (*led_cur->rgb.r > 127) *led_cur->rgb.r = 0; else *led_cur->rgb.r = 255; if (*led_cur->rgb.g > 127) *led_cur->rgb.g = 0; else *led_cur->rgb.g = 140; if (*led_cur->rgb.b > 127) *led_cur->rgb.b = 0; else *led_cur->rgb.b = 255;
(4) Once all RGB settings have been modified at this most basic level, re-make your keyboard and then flash the firmware. Here's how I did it as I am on a Mac with Safari:
make massdrop/ctrl:JG ./mdloader_mac.dms -D massdrop_ctrl_JG.bin -p /dev/cu.usbmodem142321 —restart
I hope that helps!