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
[{a:1},"Esc\n\n\n\n~\n`",{a:4},"!\n1\n\n\nF1","@\n2\n\n\nF2","#\n3\n\n\nF3","$\n4\n\n\nF4","%\n5\n\n\nF5","^\n6\n\n\nF6","&\n7\n\n\nF7","*\n8\n\n\nF8","(\n9\n\n\nF9",")\n0\n\n\nF10","_\n-\n\n\nF11","+\n=\n\n\nF12",{w:2},"Backspace\n\n\n\nDelete"], [{w:1.5},"Tab","Q","W\n\n\n\n↑","E","R","T","Y\n\n\n\nCalc","U","I\n\n\n\nIns","O","P\n\n\n\nPSc","{\n[\n\n\nScrLk",{a:0},"}\n]\n\n\nPus\nBrk",{a:4,w:1.5},"|\n\\"], [{w:1.75},"Caps Lock","A\n\n\n\n←","S\n\n\n\n↓","D\n\n\n\n→","F","G","H","J","K","L",":\n;\n\n\nHome","\"\n'\n\n\nPgUp",{w:2.25},"Enter"], [{w:2.25},"Shift","Z","X\n\n\n\nApp","C\n\n\n\nFn1","V\n\n\n\nFn2","B\n\n\n\nFn3","N\n\n\n\nVolDn","M\n\n\n\nVolUp","<\n,\n\n\nMute",">\n.\n\n\nPgDn",{w:1.75},"RShift","↑\n\n\n\nFN5","?\n/\n\n\nFN4"], [{w:1.25},"Ctrl",{w:1.25},"Win",{w:1.25},"Alt",{w:6.25},"Space","Ralt","Fn0","←\n\n\n\nFN7","↓\n\n\n\nFN6","→\n\n\n\nFN8"]
and for whatever reason on every row some keys got messed up to where 5 does nothing and 8 prints 5 T does nothing and I prints T and G does nothing and L prints G and V does nothing and M prints G and space does nothing and left arrow prints space
Here's a link to my JSON config file. https://github.com/yanfali/keyboards/tree/master/xd60
Download that and then upload into into the web UI. This will let you compile a hex file. Then you need a dfu-programmer binary for your OS. Then it's pretty straightforward.
1. Push reset switch 2. dfu-programmer atmega32u4 erase 3. dfu-programmer atmega32u4 flash DZ60.hex 4. dfu-programmer atmega32u4 reset
And you should be done.
https://www.reddit.com/r/MechanicalKeyboards/comments/6b1m4w/help_programming_xd60/