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
In short, the links above can be considered into the following categories:
1. Understanding how the matrix work and making your own PCB. 2. Developing the firmware. 2. Making the keyboard NKRO over USB without any hacks. 3. Understanding the different switches and their sizes and making your own keycaps. 4. Making the keyboard wireless, either natively or through external adapter. 5. Making your own USB cable for the keyboard.
Reddit Custom Keyboards Wiki: https://www.reddit.com/r/MechanicalKeyboards/wiki/customkeyboards Hacking a Cooler Master Rapid-i's firmware: http://spritesmods.com/?art=rapidisnake Holtite sockets for hot-swappable switches: https://mehkee.com/products/holtite-sockets-for-switches?variant=41169608783 Holtite compatibility chart: https://docs.google.com/spreadsheets/d/e/2PACX-1vTEpMxu0-9QZoqANt2piXOzjxHSEIafLuUYjJIw1J0JFAH_xiA6n6MSeU7UlZ0oli9fbNn87rjUl_Ov/pubhtml?gid=986897710&single=true&pageId=112351633694425118450 Soarer's converter: https://klikkyklik.wordpress.com/2015/08/28/soarer/ GeekHack FAQ: https://geekhack.org/index.php?topic=40501.0#post_PPP How a keyboard matrix works: http://pcbheaven.com/wikipages/How_Key_Matrices_Works/ How to make a keyboard matrix: http://blog.komar.be/how-to-make-a-keyboard-the-matrix/ Arduino keyboard matrix tutorial: https://www.baldengineer.com/arduino-keyboard-matrix-tutorial.html How to make a pcb: https://github.com/ruiqimao/keyboard-pcb-guide Keyboard firmware: https://deskthority.net/workshop-f7/how-to-build-your-very-own-keyboard-firmware-t7177.html Soarer's keyboard controller firmware: https://deskthority.net/workshop-f7/soarer-s-keyboard-controller-firmware-t6767.html
Stuff related to Soarer's nkro over usb bitmap method:
https://geekhack.org/index.php?topic=40501.0#post_PPP https://deskthority.net/keyboards-f2/question-about-keyboard-nkro-and-more-t6415.html#p123904 https://www.google.com/search?safe=off&client=firefox-b&ei=06daWq7AKMKtsgHN1aHIBQ&q=soarer+keyboard+converter&oq=Soarer+keyboard+co&gs_l=psy-ab.3.1.0i22i30k1l2.7649.8107.0.11060.3.3.0.0.0.0.105.310.0j3.3.0....0...1c.1.64.psy-ab..0.3.308....0.wVfwttDwb-w https://www.google.com/search?safe=off&client=firefox-b&ei=_6daWuC-FcuosgGAxYVA&q=nkro+the+bitmap+technique&oq=nkro+the+bitmap+technique&gs_l=psy-ab.3...6851.7523.0.7851.5.5.0.0.0.0.114.513.2j3.5.0....0...1c.1.64.psy-ab..0.1.114...35i39k1.0.TSBU-Mfivj4 https://deskthority.net/keyboards-f2/how-does-the-corsair-k65-achieve-nkro-t6256.html https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/USB_NKRO.txt https://www.usb.org/developers/hidpage/HID1_11.pdf - Currently not working but you get the idea that you need the HID v1.1 document for the USB protocol https://deskthority.net/workshop-f7/xt-at-ps2-terminal-to-usb-converter-with-nkro-t2510.html https://geekhack.org/index.php?topic=17458.0 https://deskthority.net/workshop-f7/soarer-desparately-needed-t9322-30.html https://www.usb.org/developers/hidpage/Hut1_12v2.pdf - Same here but I believe here the version was 1.2
Switch mount size: https://deskthority.net/wiki/Switch_recognition Making your own keycaps: https://geekhack.org/index.php?topic=23722.0 What goes into creating a custom keycap set: https://www.massdrop.com/talk/475/what-goes-into-creating-a-custom-keycap-set Creating a wireless mech keyboard: https://hackaday.io/project/7646-ble-wasdmechanical-wireless-keyboard Bluetooth keyboard/mouse adapter: https://www.instructables.com/id/Bluetooth-Keyboard-Mouse-Adapter/ Making your own USB cables: https://geekhack.org/index.php?topic=44924.0