COVID-19 Status

Hey everyone, here's hoping this message finds you safe and sane during this strange time.

As with almost everything, gBoards is effected by COVID-19 in a few ways. Namely I have a reduced fabrication capacity with my local fab, shipments are taking longer to get to and from me and the border is operating at a reduced capacity.

I've been limiting my mail runs to every week and a half. Mainly to reduce the exposure of my local posties. So be aware that if you get a shipping notification, it may not have hit the post yet!

As usual, expected delays/events will be logged in the post at the top of this blog. Thankfully with layoffs and all the time I've been spending at home the backlog is being destroyed at a good rate! Feel free to send me a email, I try to respond within 24hours to any and all inquiries :)

Stay safe and sane,
-- Germ

Adventures in Obscure C Features (2020)

Hi, my names Germ and I write C for making keyboards do keyboard things, Recently I ran into a problem and my only tool was the C Preprocessor. No generation, no external tooling, just good old #define, #undef and #include.

Context:
I make very small keyboards, that abuse lesser used features of the QMK project, a open source general purpose keyboard firmware that is extremely powerful. If you like programmable devices, get a programmable keyboard. Once you to ~30 keys or under QMK becomes a bit painful, and this is why I wrote a onboard chording engine that layers onto QMK. Rather then using software like Plover or AHK everything happens on the keyboard itself allowing for a portable and independent setup (Because moving configurations around is a pain!).

The Problem:
For these smaller keyboards, reliance on Chords and Combos is absolutely necessary. Here's a image of GergoPlex's vim-orientated combos that it ships with.

This is a trivial case, Ginny requires over 500 different chords to function!
Now let's look at the code to generate this

To add a combo a enum and a define must be updated, a entry added to an array and a sequence stored in flash memory. Needless to say this can be cleaned up. In it's current state there's 50 lines for a handful of macros, this is only going to get worse as more are added. Let's mock up a macro and see if it can be implemented and maybe we can clean this up. Note: We can't simply embed the PROGMEM'd arrays into here, we need them to be processed into flash storage properly. We're working on an embedded device here with 32K of flash, 2.5K of SRAM and 1K of EEPROM (Who needs memory protection anyway?)!

That's a non starter. What about making up 3 different macros?

Looks OK and might compile but we still have the root problem: A unmaintainable mess of code that's about the same length. What if we could change how macros are evaluated on the fly? Turns out with a bit of #undef and finesse we can! But in order to do this, all the arguments must be the same between invocations. So lets clean that up.

Now for the fun part, we give our macro a name and slam it off into it's own file and #include it multiple times! A caveat to this process is that we need to generate valid identifiers. So Macro-String-Hashing isn't an option. Hold my preprocessor!

Well that's pretty neat. Now the combo defs are slammed into their own little file and we have a mess of C in the keymap.c file. We can tuck that away later into a header. But right now there's a more pressing matter: Sending multiple keystrokes! This is how you do that using QMK Combo features.

...That's not pleasant. We can do the X Macro shenanigans again, but including arbitrary C in a macro doesn't seem ideal. Thankfully there's a good function called SEND_STRING() that handles 99% of what we would want to do in here. So we'll abuse that and add in the SUBS() macro alongside the COMB() macro.

So with the crazyness that is the C preprocessor lines can now be blanked out or modified as needed. In theory this system can be extended as much as we need. And we're going to go a little bit farther. One property we can abuse of the C include system is the fact that it's recursive. So we tuck the gory internals into g/keymap_combo.h and have that call combos.def. In combos.def we include other submodules to compose the combos from here's a light example.

The major benefit to this is that now modules are small one-line includes that are logical as opposed to a mess of keyboard data. More importantly meta-defs are possible that compose other structures. Think of just importing awesome-vim-combos or awesome-emacs-combos and they pull in everything that's deemed 'awesome'. Configuration is also possible with the a PREFIX define that modules/the user can test this or override this if wanted.

Lastly, let's put this all together
Keymap.c
Combos.def
User.def
So now instead of having a keymap that looks like how we started, there's organization, structure and exportability. Also this runs in a generic way on top of QMK. That's pretty cool eh?

Why not just use a generator?

This hit me multiple times while working on this portion of the project. It's doable but requires external tooling. To even use this feature you're already compiling your own firmware locally (as QMK config doesn't support the extended features), so having a extremely quick turn around time is important. As well using the tooling that is expected to build a firmware in the first place cuts down on external cruft.

This only works on GergoPlex though?

Nope! It's board agnostic, and hooks basic keycodes. In time a virtual keymap will be hooked and easily translated to physical keys (similar to how the chording engine works, but that's for next week!)


Looks cool! How can I help?

Grab a keyboard, clone this repo, and whack any cool dicts you come up with against this organization! And if a GergoPlex or Gergo seems like a neat board, grab one ;)


Next time: Using this methodology to create a composable dictionary for onboard stenography. When a whole language fits on 30 keys, things get fun!








Weird Keyboards, Programmable Keyboards


Hi! My names Germ and I make really tiny and strange keyboards. Currently on a 36 key keyboard! How did this happen?


10 years ago, at my high school I found this behemoth of a keyboard. I didn't know anything about it all I knew is that this thing weighed about 5lbs and was louder then all hell. The worst part is that it even felt really good to use. Of course what we had dug out of the CS closet was a old dusty IBM Model M.

It got used for a few months in the lab before I lost a connector and decided to pare down my electronics before taking off to university. Somewhere in the next few years the space bar got damaged and I pitched it. For the next few years this became my weapon of choice, mostly because it was bolted to the damn laptop.

And it was good enough. OSX had a little option for swapping caps and control and that alleviated most of the issues I had. It got me through school, programming and working on various projects. It wasn't amazing or anything but with a few remaps using Karabiner (I think that's the program) and software drag scrolling with my M570 Trackball it worked. With a Autohotkey setup and Xinput/Xmodmap file for cross OS support configuration was a pain point, but manageable. That is until I met a Mainframe and ISPF.

This is the primary interface for z/OS, straight 1980s vibe right? Unsurprisingly this isn't going to play nice with a tiny laptop keyboard. Hell the interface expects PF24 in places! We needed to go bigger, and that's when I bought a old mechanical keyboard off a friend and gave it the 5 minute custom. This managed to get me through Master The Mainframe and even make a neat little react frontend for a Cobol/DB2 database with a JSON API (fun fact JSON GENERATE and JSON PARSE were added a few years ago, and there's even VSCode support for COBOL :) But the main issue was transporting this thing to work, it's not a small board by any means! But with the Windows only software you could do some neat remapping and macroing so I looked into programmable keyboards.

This is what happened. A split open source keyboard powered by this thing called QMK with blank keys to boot. This is where things started to get messy, QMK is a amazing project that lets you write custom keymaps, generate a firmware and flash it over to a supporting device. Because it's aimed at a technical crowd this is done through some C macro shenanigans (although there is a web configurator that will spit out a compiled hex for you to flash). After about a week of getting used to the default layout, I found this a layout more aimed at Linux/Vim users gave it a flash and got to work.

Here's the thing about a keyboard like this, it only takes a few minutes to modify and reflash a layout! Naturally as I found issues and moved stuff about the layout became more personal. Thumbkeys + Layers really change the manner in which a keyboard can be used allowing holding of a thumbkey to entirely change the keys that will be send (and that's only the tip of the iceberg).

But the ErgoDox suffers on massive flaw, the thumb cluster is horrible for the outer thumb keys, half the buttons on the cluster are unusable/reachable and it's got this giant top. Hell, once you get into layering there's way too many keys. Looking for a project this little guy happened.

Awesome, A smaller ErgoDox-like with a little trackball! Trimmed off the number row and useless outer keys, brought mouse controls to the front and went with a SMD focused design allowing the ErgoDoxes forehead to be removed and adding support for Kailh Chocs. Finally my bag had some space for non keyboard gear. The choice to go caseless was made for ergonomic reasons, if you look at MX Switch + ErgoDox you'll notice that you need a wrist rest to use it properly. Opting to remove tenting and moving to Low profile chocs was a compromise between ergonomics and durability. Currently it is hard to manufacture sculpted boards that are durable (Ask anyone with a Dactyl Manuform!). As before the layouts got smaller and more optimized for Programming/Vim/i3/Shelling about.

Intermission:

I ended up making a few different designs while using a Gergo daily, namely the Georgi (stenography writer), ButterStick (20% ortholinear), Ginni (10% Split Ergo) and BuzzSaw (60% keyboard that transforms to a proper ergo with a bunch of snapoff parts). A few of these heavily rely on a custom chording engine that lives on top of QMK, needless to say between writing that engine and trying to learn stenography I learned a bunch about the wonders of chording and how you can really push the notion of what a keyboard is with it.

Chording, for those that don't know is a fancy word for pressing multiple keys to send an action, similar to combos that we know and love. An example of a chord would be IU -> Esc, when I + U are depressed the escape code is sent by the keyboard. Due to the sheer number of combinations available on even a tiny board layouts are highly personalized. A stenographer will have a custom dictionary that is full of their own briefs/snippets that's been crafted over the years and personal. And that's in addition to the entire English language fitting onto 30 keys :)

There is a issue with chording, spring force. With chording you'll sometime push two vertical keys with the same finger (applying force along the edges). A typical key has about 60-70gf of resistance, so a vertical chord is 120-140, and a edge chord (4 keys pushed by one finger such as TSDZ on a steno board) is 240-280! Needless to say that isn't very ergonomic, comfortable or fun. The solution is very light switches. 35gf are the lightest commercial switches you can get (Gateron Clear/Kailh Choc Red Pro), but I take it even further.

12gf springs custom from Korea for Kailh Chocs. Very light typing, and only 24gf/48gf of force required in the very worst scenarios. The downside is that every other board I touch feels extremely hard.

End Intermission

Sadly, while functional those boards are just a bit too much for me. I took the lessons on chording and ran with it, including "User-Hostile Design Principles", there's a bit of a write up over here. In the interest of ergonomics the outer mod column, inner extras and outer thumb 2us were also ripped off. The idea being that you can't hurt yourself on what isn't there. To compensate dotted around the keyboard are a handful of small two-key chords powered by QMKs Combo feature. These are the game-changer for typing/vim/programming. Look at this layout, but most importantly the two finger chords. Think about how this would impact your typical workflow. If you've never seen one of these before it'll look a little dense.

Here's the layout for Gergo:



And this here is GergoPlex



A little complex eh? The symbol/Number layers are controlled by the two thumb keys where your hands naturally rest, Vim style arrow/mouse movement and all modifiers are easily withing reach. The main downside of overloading keys with modifiers is that conflicts arise (For example, Control-A. You must use the opposite control!) but the reduction in motion is worth it. When using this layout the fingers only ever travel 1u from homerow (with the exception of the inner thumb 1u).

The real fun comes with those chords, for many often used keys you never need to leave home row. Take a second and find the following combos and what keys would need to be pressed.

Alt-Tab, Control-Enter, Escape, :wq, Volume Up, Control-Shift-V, The_Quick_Brown_Fox

Now compare how you would do those on a traditional keyboard. How many times a day to you make these motions? That's why GergoPlex is designed in a user hostile way :)

It's  been a fun year over here, many new designs have been made and friends been met.  Here's hoping 2020 leads to more Input Device shenanigans

P.S. ButterKnife launched today, find it over in the store!



Store Reopen!

Howdy gang!

I'm pleased to announce I've been crunching orders for the past week and things are starting to get back to normal around here. With the impending launch of ButterKnife I've opened up orders again!

Just like before, any orders that need to be thrown into a bag (Kits, Springs, Books, Caps) will ship immediately. And the banner will now show any expected wait time on new orders.

There's still a few boards left in the queue however (primarily anything with a Gergo, GergoPlex or BuzzSaw) but it's manageable. Expect those to ship out later this week (as always, feel free to ping me for an expected wait time!)

Thanks again for the patience!

Family Emergency + Backlog Mode

It's been a mess of a few weeks here. Had a family emergency come up and had to run the girlfriend out to see a dying family member, combo that with the previous vacation and everything else and I've been having a time. Needless to say the backlog is looking bad. I debated putting the store into maintenance mode because of it.

Until this gets cleared anything that requires a serious time investment (Partials/Readies, Georgi, ButterStick) are unable to be ordered. I've zeroed out the stocks for these until the queue is cleared. During this time Kits, Springs and Books will still be available for purchase. These orders take minimal time to clear as I'm just shoving stuff into a mailer, hence why they're still available.

Currently there are 170 outstanding orders to clear. Thankfully a few of these are kits.

Feel free to email me for a estimated timeframe or refunds on outstanding orders. It's been a bumpy year at gBoards finding our feet, but we're trying to be honest and transparent.


Thanks for staying tuned!

Updates:
Queue: 132 (Jan 03), 99 (Jan 05) 80 (Jan 07)


Qlavier // Buttersticks 95% shipped
ButterSticks: 90% shipped
Georgis: 80%

ButterStick Update // Wait Times

Happy Holidays!

Just got back from my trip to a giant pile of mail, including these!


Sorry about how long this entire group buy took. But we're in the homestretch now, assembling and shipping these out pretty quick here.

If you haven't seen it already, check out the photos I archived from Twitter/took myself from the Japan meetup.Some cool stuff! Album 1 Album 2

Also brought back a ton of cool magazines, books and keyboards. Look forward to those going up in the next few days here.

Lastly, the queue! I've got a ton of orders and am clearing them up now. As usual Kits, Springs and anything I can just shove in a bag will ship quickly. Anything that needs assembly (Partials, Readies) will be filled in chronological order. Either way, until I get through this mess use THEGOOSEISLOOSE for 10% off as a apology.

Thanks again and stay tuned!

-- Germ

On GergoPlex (and updates!)

Let's get the updates out of the way:
- JLC fucked up the front BuzzSaw silks so those are going back into production. If you can deal with a pure white front side (the Asphalt texture, not the IKEA stuff) shoot me an email and I'll work something out.
- Ginni, FaunchPad, Gergo, and GergoPlex are working just fine. Orders are being filled right now
- Kailh order came on in, Georgis is going out again
- Sprit restock should be next week. Unless it gets stuck at customs for a month again. Fingers crossed.
- Stickers should be coming in soon and be added to all orders :)


u/ataraxy on Reddit pointed out that there were some major differences between the initial post about GergoPlex and what it eventually became. I thought I'd use this post to explain just what went on there.

So the original idea was to make a bigass flight of XanaDocs and make a big cohesive post about ergonomics. Mostly something I could point people to with sources and all that stuff instead of having the same conversation about why using a TKL isn't a good time or how single-board-ortho is worse than row stagger. That never materialized as things got very busy around here with boards and orders. Maybe one day.

Instead, the project turned in a new direction. Every year (assuming gBoards doesn't tank) I'm going to 'fork' the current iteration of the Gergo line and develop it from there. This is NOT to say that Gergo or GergoPlex will disappear, they will still have their revisions and updates. But this process will allow me to push on with what I feel is the next step in the line (and that doesn't mean fewer keys, Ginni is a thing lol)

Anyway, once I finally found time to sit down and design the board itself I realized a few things since the initial conception and after a year of Gergo.
- Having the inner 1us lead to a _ton_ of wrist motion between the mods and the inner columns
- The weakest finger ends up doing a lot of work
- LEDs add no real value and add complexity to a board. I'd rather have lower costing boards instead of a more saleable board.
- My understanding of augmenting layouts with chording (how much is too much) increased a ton.
- Users will undermine themselves

So let's walk through these. The main issue with having the 1us and the outer mods is that it promotes wrist motion. I heavily utilize those inner 1u mods and a side effect of this is that the wrist is constantly pitching back and forth. It doesn't seem like much but over months this can add up. This leads to the main issue with pinkies, they're very weak! The outer 1.5us are almost exclusively used for mods, and there's a ton of work placed on them (as they're not only responsible for the mods but QAZ and even WSX if the hand is shifted to inner 1us!). This in my eyes is unacceptable.

As far as LEDs, I can't expect a user to assemble a bunch of tiny RGB LEDs and debug that. It also adds cost, complexity and requires PCBA services for these boards. A big draw of my boards is that they're a fun way to work on your SMD skills and get a keyboard out of it to boot. This is half of the fun of keyboards, the assembly and debugging process (whether anyone will admit that is another story), by doing PCBA that disappears to just another kit keyboard.

Chording has been the big development of this year. Some of you may remember ErgoTaco, well that's all Ginni is! The difference is that Ginni can be used (not that any sane person would, but you're probably not sane if you're reading this!). Joking aside, there's been a ton of effort and thought put into chording and how that works to augment the typing experience. I believe that this is extremely important to the development of ergonomics, but a line must be walked between understandability, usability, and ergonomics. Go too far into any one of these categories and bad things will happen. Look at stenography, extremely ergonomic and efficient, but it takes years to learn. Georgi tries to take some of that and package it down for us mere mortals to use via a modified QWERTY engine. Everyone can use a 104 with little to no knowledge, but ergonomics and efficiency will take a massive hit. A balance must be made.

-- Germs Law
The smaller a keyboard is, the more ergonomic it becomes but the complexity of the device skyrockets to the point of impracticality.

Lastly, (and most importantly) users will undermine themselves. If you give me a rope, I'll find a way to hang myself with it. This is the design philosophy of GergoPlex: Just don't give the rope. By actively being user-hostile, the user is left to find a way to manage and adapt. Similar to learning to live without a numrow it comes with time and usage. If this seems a little extreme, I'm not stopping running Gergo anytime soon! I've been typing on this GergoPlex all day, and the first 3 hours were mixed with a good amount of mashing my fingers into a desk. Now that I've stopped doing that it's pretty damn comfy!

So that's what lead to GergoPlex, kind of in a weird way. :)



Anyway, thanks for keeping up with me this year, let's see how GergoNext develops! Stay tuned!

-- Germ


Status Update: Out For Two Weeks!

Been a weird week here for me, I have orders but can't ship right now because I'm waiting on products to get to me. To say it's infuriating is a understatement.

Good news is that all spring orders are cleared and the parts I've been waiting on should be in today (woooo, long weekend!). That means I can resume shipping Gergos (Out of PCBs), Georgis (Out of switches) and start shipping the GergoPlex's, Ginnis, FaunchPads and BuzzSaws (last run had issues and needed to be re-run, hence the discount code!).

Next up: Qlavier group buy! Box of acrylic has been shipped and I'm just waiting on it to come on in

Lastly, I'm taking two weeks off for the first time since I started this train, any orders placed between now and Nov 26th _might_ ship before I leave, I'll be back in action on Dec 14th. This mainly effects builds and partials, Kits, Springs and B-Stocks will ship out quickly still.

Use discount code THEGOOSEISLOOSE for 10% off for waiting. If you're lucky and choose the right products it'll even ship before :)

Needless to say you can always email me if you need to chat, it's the best way to get a hold of me (or Discord, but email is really the best)

Weather Update: It's Raining

Howdy again!

Got a few updates on what's going on over here, let's start with the fun stuff.

Prototypes for Ginny, FaunchPad, GergoPlex and BuzzSaw have been submitted! So get hype for those, I'll post more about them once I have the protos but here's the short
- GergoPlex: Choc only Gergo with 36 keys
- FaunchPad: SMD 2x4 macropad
- Ginny: 10key split ergo with chorded qwerty
- BuzzSaw: Choc Alice clone that can be snapped apart and turned into a split 40%

So those are going to be fun!

Shipping Updates:
- Springs have been at the border for the past month, so that's bullshit.
- Still waiting on PCBs for Georgi/Gergo
- Still waiting on Chocs to arrive

Turns out that around National Day in China there's a 7Day holiday that pretty much shuts everything down. So the PCBs almost made it out of China before that and Kailh is just processing my switches now. So that's lovely. I learned about CNY last year, but this came out of left field. At least I know for next year

Qlavier Groupbuy: The hardware is now in Belgium. So should be receiving a big ass box pretty quick here.

Upcoming:
I'm looking forward to stocking the four boards I mentioned, but I'll be on holiday between Nov 26th - Dec14th, during this time I'll have a big-ass notice on the store! Going to Japan to fuck around so that should be fun :)

What's New, What's Happening

Morning all!

It's been a busy few weeks around here at gBoards so I figured I might as well let you in on what's going down.

Qlavier Groupbuy: Half the problem with communicating about groupbuys is there's periods of time where nothing is happening. This is one of those times, still waiting on a bunch of hardware to make it to him before I can get my mitts on the cases and start shipping. Needless to say I'll keep you posted here :)

Gergo Ready: I've gone ahead and managed to get a bunch of 1.5u and 2u choc caps in White and Black. Now that I have those, fully assembled (and non-gaptacular) Readies can be produced. As these use the same bits as Georgi and I'm only offering them with 12g chocs! Downside is that the switches are more expensive and I have to swap them by hand. But if you want to try the low-pro ergo life there's a option for you. (Alternatively: Buy a Kit, Mod Kit and source the switches elsewhere + 1us to save some cash!)

Store Delays: The main reason I'm writing this post! As some of you know I work at a hotel with fairly minimal staff. As such, when someone leaves or is ill we band together to run the thing. There's not enough people to adopt a 'not my problem'  attitude, we make sure the place runs.  Recently one of our night auditors quit and we started looking for a new one, in addition staff have been ill and I've been busy with orders. This means that the last two weeks have been 50+ hours for me before I even get to gBoards.

The truth is my job is making sure buildings don't burn down, this gives me time to work on my own products/designs but I can't actually do builds or pack orders when I'm sitting behind a desk!

I've talked to my manager and we've since hired two auditors instead only one. With this I'm cutting my time back from 5 shifts a week two only 2. This added time will allow me more freedom to actually run the damn store. So in a week I'll be more then free enough to clear the backlog that's been piling up, hurrah!

The Future:
With this change comes something I've been trying to do for the past few months. new projects! With the limited time to actually fulfill orders, making more for the workload didn't make sense. So here's a few of the things I'll be banging out once everything is cleared. (If you're waiting to order, don't bother. These aren't getting timelines apart from "Soon^TM")

Gergo: Psyche (rev4). A minor update to Gergo that fixes some small issues and refines the design more. Add some stabs, clean some routing, minor footprint fixes. Nothing major compared to Protocol.

Ginny: A 10key chorded keyboard! Reception of Georgi was better then expected so why not take the idea to it's logical conclusion. 10fingers, 10keys, 0motion. Based on the same engine as Georgi

The Ergo Post: Because it's been months and GergoPlex needs to be sorted and it's reasons explained.

GergoPlex: A stripped down, user hostile and crazy ergonomic keyboard that makes you use it the 'right way'. Probably going to take after the MiniDox to be honest. SMD, dirty silks, you know the drill. Check the previous posts for more info.

DennyTom Engine: DennyTom has been working for the past few months on what can only be described as the steno engine to end all steno engines. It's amazing, blows Georgis firmware out of the water and put simply is a testament to what one man on a mountain can do. This will be the firmware running on ButterStick, Ginny and Georgi. Quite honestly, this is better then anything the Neutrino Group could have dreamed of. (Speaking of, if one of them reads this I'd love to work on keyboard design with you!)

So yeah.

Thanks for your patience with orders as gBoards enters a new era of keyboarding! There's been kinks ironed out along the way and it's only getting better. I'm not ready to jumping to this full time, but we're pretty damn close.

Also, running to Japan in December for two weeks. If you want to meet up and grab some drinks or fuck around: Hit me up!

In other Choc related news:
CorruptedCaps is now running beautiful Kailh Choc artisans and MKUltra is selling pre-coloured Chocs! Go give them some love if you want to spice up your board :)

Long Time No Update

Holy hell!

There's been so much new stuff I've been wanting to work on but the stores been busy as hell. Hence why GergoPlex is taking so long (the other reason being, I need time to congeal my research and not just rush a board!).

Either way it's been chooching along fairly well, backlogs are reasonable and being handled (worst case email me!) and the Qlavier groupbuy is progressing well.

As of right now the cases have been cut, just waiting on some mounting hardware before that big box of acrylic ships it's way to me. On my end I've already recieved the PCBs and have been building them up for kitting together :)

Apart from that Gergo seems to be doing well with only minor changes required for rev4: Psyche, nothing functionally different. If you have anything you can think of to add to the PCB please get in contact with me!

With all that being said, I just wanted to say that this has been a crazy experience for me. Thanks to all of you for supporting me in this weird endeavor. I didn't expect it to turn into more then a personal board but it's doing something. Even the memey shit like ErgoTaco and Butterstick or the Stenography boards (Did you know: There are a few people using ButterSticks as their main keyboard? That's nuts!)

Keep being weird and stay tuned!
 -- Germ

Logistics & Updates

Howdy everyone,

The terrible connectors are finally dead. I've replaced the MiniUSB & TRRS with proper through-hole components. Jacks ripping off has been a issue and this solves that problem. Thank God.

That being said, I have a bunch of orders that are currently waiting to go out on cables and a few more waiting on caps. So that's no fun :(

If you haven't heard I'm running a sale on B-Stock Gergo: Protocol and Buttersticks. Turns out I fucked up the footprint for X switches so they're almost perfect, but not quite. You can get the newest boards at a discount over here (kits only!)

I've been giving much thought to Gergoplex as well. If you've seen the design before, forget about that. I'm going to be publishing a massive post (possibly a Xanudoc) on ergonomics. The post will be separated into the following sections and conclude with the GergoPlex's final design.
  • The Hand And It's Interactions (Analysis of keyboard functionality and ergonomics overview)
  • Historical/Cultural roots that lead to specfic design descions.
  • Current ergonomic solutions overview
  • Ergonomic/Mechanical/Manufacturing tradeoffs
  • Re-contextualizing the keyboard/Future of Gergo
So taking everything I've learned over the last year and adding in fun developments to make a improvement. Hopefully without going full datahand.

I'll keep you posted!

-- Germ