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
Ignoring the press is what interferes most with typing. Both ignoring the release and the press interfere with games (a movement key remains active after being released, and another is ignored), and anything else that relies on knowing whether the key is pressed.
There are other key event issues which I have not reliably duplicated, such as one where a key must be pressed multiple times before it resumes normal function.
Update 1, for future reference: I did get the firmware partially fixed (via flashing), now most of the issues with modifiers of the slave half not working, and the keyboard rarely working at all, due to just randomly stopping and requiring re-plugging and also due to the "device can be faster in USB 2.0 port" regardless of whether it's in USB 2.0 or 3.0, have been fixed with 1] a lot of patience, many many attempts, 2] luck, 3] a not-very-prominent bottom-of-the-page link to the "build guide" here https://input.club/devices/infinity-ergodox/infinity-ergodox-build-guide/ , which has an even more obscure link to this Github "kiibohd" page about flashing firmware https://github.com/kiibohd/controller/wiki/Loading-DFU-Firmware , which has a link to driver installation software http://zadig.akeo.ie/ which fixes most of the problems, if you can figure out how to use it. Apparently, neither windows nor search engines can find the driver which makes this keyboard actually work, but there it is.
Now, many of the issues are fixed, with one extremely critical exception: key presses are still dropped rampantly, and keys still get stuck "pressed" in games, ignoring both presses and releases, including WASD (movement) and shift (for sprint and steam overlay) in, for example first- or third-person games until after several re-presses to get it working again. THE KEYBOARD REMAINS TECHNICALLY INFERIOR TO EVEN THE CHEAPEST ALTERNATIVES. After a lot of usage and experimenting (HERE'S THE CRITICAL DIAGNOSTIC DETAIL), I have determined that the issues never happen if you never have two keys pressed at the same time. This means that if you deliberately slow down your typing to a relative crawl (I'm used to well over 100 wpm), then the keyboard begins to work without constantly having to backspace and correct randomly missing letters (a skill that I have now become proficient at). (I had noticed that some letters were being dropped much more than others, and now that I know why, it turns out they are the second letter of common digraphs, which are indeed usually very fast in DSK, my preferred layout.) This also occasionally presents issues with modifiers, which do require two keys to be pressed at the same time, sometimes three or four, especially as I now need a modifier for F(#) keys.
I have been in correspondence with staff about these issues, and what I've learned is that 1] replacement is ABSOLUTELY not an option (an option I never specifically asked for by the way, as I assumed a replacement would likely have the same problem), 2] they are willing to refund the keyboard, but naturally this does nothing to reimburse for all the time I've spent tracking the problem down and trying to fix it, nor the time spent putting it together (this was a long process for me as I had to desolder), nor the wear to the iron tip (it's a cheap iron so now it's significantly shorter than it was, I may have to replace it to solder a new board), nor the many hours of research I put in before making this ~$250 purchase, and to be honest what I want is for this sexy keyboard to actually work, not a refund, and 3] staff are not addressing the specific complaint at all, and there seems to be no intention of fixing the firmware or, if it's a hardware problem, at least offering replacement for the defective controller (but I think it's unlikely to be a hardware failure, or the controller manufacturer would have issued a recall and replacement, which normally trickles down to end-consumers). Staff has implied that it is literally impossible for them to contact anyone who might be able to verify the problem or do it themselves (seems unlikely), anyone who might be able to examine the code for issues (isn't it open source? then where is the source?), or verify that anyone else has similar issues, or therefore admit to what has now become false advertising of NKRO. They imply that anyone that has any clue how the keyboard works or how to fix it must be in hiding from the CIA, and therefore there will never be analysis of the problem, let alone a fix. Nor even recognition of the specific problem, how appalling!
That's right, it has now been reduced to false advertising. The keyboard is effectively not N-key rollover, because often times when multiple keys are in the pressed state at the same, it fails to register that the last key is still pressed (a problem which is usually only a probem in specific scenarios), and it completely fails to register the next several presses of one of the keys involved (perhaps the last one pressed? I know that this is not Windows behavior, as the OS perfectly recognizes repeat key press events of the same key with no key release events, though I imagine some game anti-cheat software might get mad about this, but not in my experience). So, it does not function as an N-key rollover keyboard would, which is perhaps the primary reason I bought this keyboard. It doesn't work exactly the way a typical rollover limit does, but it is an issue that results from multiple key presses, which is not an issue even in a keyboard with 3- or even 2-key rollover, a bare minimum which is required for typing at speed, even more so for typical mechanical switches due to the large activation travel. I had plans of eventually making scripts to try chorded typing, which any NKRO keyboard is fully capable of by default, but this one is not capable of in the least. It can't even be used for normal typing without deliberately crippling my speed.
I would like this problem to get some proper recognition from people who properly have the capacity to figure out why their product is defective, tell us why it is defective, and do something about it. Or at the very least, some recognition that there even IS a problem! I know I'm not the only one, I've seen many other people complaining about similar issues with the keyboard, though none have narrowed it down as specifically as I have. Many of them are not yet aware that it's an issue with the keyboard, rather than with their typing habits, or a break-in period, or requiring acclimation to the keyboard, or requiring better solder joints (better solder joints? really quite crazy in retrospect, that's not how electricity works, but you know, Occam's razor...). No, none of you are crazy, and yes it is a major issue with the keyboard that will never go away without some intervention, hopefully all it will take is a firmware update. Perhaps if other people with the same problem complain more loudly, they will consider putting a little more analysis into the problem.
Another update: At the moment, the problems are gone and I can type however fast I like, how peculiar. It seems the problem remains intermittent. But it has spent more time with this dropping-presses issue than it has spent without it. Maybe the zadig driver has issues rather than the firmware? And... nevermind, it just did it, a few times in a row, seems it has come back. If the problem is ever reliably fixed, I will report back here, otherwise you can assume the problem is still here.
You sure about that one, my dude?
Regardless, your own ignorance/unwillingness to read is not a sufficient justification for your original post. There's a prominent link to input.club in the "Overview" section of the original drop as well as the name Jacob Alexander literally 4 words prior to the same. If you were to search for the name Jacob Alexander and the word "ErgoDox" , you'll see no less than 4 of the top 6 links including the name "HaaTa." If you followed the input.club link, selected "Articles" from the header and then selected "About" from the drop down, you'd yet again see the name "HaaTa." So, "I never got any contact information" is either a blatant falsehood or you attempting to justify your display of nerd rage. Regardless, Massdrop PARTNERED with Jacob Alexander / input.club to MANUFACTURE the hardware KIT being sold on this page. The entirety of the hardware design, firmware, and assembly is 3rd party: being parak aka Gennadiy Nerubayev for PCB, HaaTa aka Jacob Alexander for Firmware, and YOU for final assembly. At no point has Massdrop ever offered to provide any type of support _other_ than a DOA warranty.
Being that I'm not a casual buying what's essentially a crowd-funded keyboard and expecting hand holding, there are 3 channels on irc.freenode.net I can name off the top of my head where HaaTa is an active nickname: #deskthority, #mechboards, and *feigns shock* #input.club.
Thank you for not generating yet another wall of entirely pointless text.
My issue isn't with you speaking your mind or reporting your seemingly unique problems (I don't see any other walls of text moaning about firmware issues which there are fixes for... for example). No, my issue is with your verbiage. You're attempting to be overly verbose in a place where it's not just unnecessary, but completely unwanted. Learn to communicate directly, simply, and without the whinging and you'll find people are more inclined to actually assist you.
TL;DR: don't be an autist and expect first class hold-your-hand support in a HOBBYIST project that requires a freaking soldering iron for assembly. Failing that, learn to express yourself concisely.
And yes, I suppose someone like that would have been an appropriate response, sans the continuous personal attacks and anger, of course, which is not acceptable behavior anywhere. And if you read as many of these comments as I had, you would probably find similar issues elsewhere. And no your issue is not with "verbiage" alone, or you would not have typed out so many irrelevant strings of insults and bile. You also probably would not have read, let alone commented, on something that is too verbose for you to read. It's perfectly okay to not read something that is too long for you to want to read. But it's not an okay excuse to try to be so nasty and offensive.
Please verify that the specific issues you're experiencing are NOT on this list (or the one shown when you click the "55 Closed" link): https://github.com/kiibohd/controller/issues
"And no, there are no fixes for any such firmware issues..." This statement is so ignorant that I'd expect someone with even a cursory command of the english language, certainly one with the ability to generate such lengthy and completely superfluous walls of text to VERIFY it's veracity prior to asserting the absence of any issue.
"And I'm still not entirely certain that firmware is the problem..." You're obviously unqualified to make that determination. As someone who is qualified, the problems you're experiencing ARE firmware related, and would likely be fixed by you using the above listed 'kiibohd/controller' git repo (maintained by HaaTa) to build and flash your own firmware (and potentially layout). Though, since that requires actual effort instead of being a cringey whinging baby on massdrop's comment section, I'm doubtful you'll take me up on the recommendation. I've only been making it on the sly for the last 5 days.
Since you seem confused, I'll break down what happened around my initial reply: 1) attempt to read, give up after first run-on sentence/paragraph thing that was full of useless flailing instead of any actionable information 2) skim remainder of MASSIVE WALL OF TEXT seeing if there are any keywords I can identify that might allow me to help 3) give up on that after seeing actual length of wall of text 4) reply with concise and slightly catty message attempting to communicate a rather simple idea: "no, this is not an appropriate place for you to flip out in the manner you're doing.... perhaps you should talk to HaaTa, the guy that wrote the firmware instead?" --- (and I still managed it in less than half the length of your initial run-on sentenceparagraphthing)
At no point have I been even more than casually emotionally invested in this. I've literally been sharing this thread with friends IRL and laughing about your responses. It's been good entertainment, trust. I haven't been attacking you personally, I've been telling you that your behavior (how you're expressing yourself) isn't acceptable, appropriate for this venue, or likely to get you the help you want. In every single message where you see a personal attack there's ALSO been an attempt to help you, though you've seemingly not cared enough to actually recognize that help and follow up. Yes, you're right, I have been "nasty and offensive"... but to me it's been a funny joke, one that I'm a bit tired of at this point. At no point have I actually called you any names or cussed at you, I've always only addressed your BEHAVIOR. If you choose to internalize me pointing out that your behavior is unacceptable and turn one thing into another, that's on you.
Anyway, since I'm nasty and offensive, here goes nothing: realistically you're a lazy, unintelligent and emotionally insecure pedant who's incapable of doing the ACTUAL work necessary to fix your own problems (such as seeking out people knowledgeable enough to help and speaking to them in a respectful manner). You've ignored my MULTIPLE pointers in the direction of HaaTa to react from a place of being emotionally wounded, completely inappropriately for the venue AND with zero consideration for others instead of looking at things logically, listing your problems concisely, and asking for help from a position of humility.
Being that the above is true, I'm done responding to you as a person for good, no matter where I see you in the future. I attempted to help you, even if you're not aware enough to see it, and I certainly could have helped you if you'd paid attention.