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
https://www.reddit.com/r/olkb/comments/3oovp2/jacks_weekly_ama_for_tuesday_20151020_8pm_est_all/cw4idug
I also hope I don't understand Jack correctly when he says firmware must be compiled for either USB HID or serial TX (bluetooth) mode. Though, that does mean if there's a way to use the USB TX and RX pins during serial output mode (to basically redirect the serial I/O to those pins already wired to the usb header on the PCB), I can use a custom cable to connect to my bluefruit EZKEY and have everything external without modding a case to access the RX/TX pins... that would be worth having it basically always be a bluetooth device. I'd get to show off the aluminum case, and use my 18650 2400mAh lipo battery and the 1A charger, rather than a 1200mAh flat battery and a .5A charger internally... *goes hunting for the datasheet
ED: nope, D+ and D- are only for high speed USB; there's voltage regulation and other stuff going on between the CPU and the pinout. maybe with all the work jack's doing to get it to work, it's worth it to get another case, stick everything inside, and maybe wire the two battery status LEDs from the lipo charger, and the bluefruit LED pins to the PCB (if there's pins available) and use the keyboard firmware + board LEDs to show charging and bluetooth pairing status. I'm still not giving up on a somehow more elegant than "a wire soldiered to the PCB shoved between cracks in the case connected to an external EZKEY and battery" solution for BT with the aluminum case...
HID is a protocol. You can transfer HID formatted scan codes on serial, i2c, spi, etc... It's just formatted data.
https://www.reddit.com/r/MechanicalKeyboards/comments/3psx0q