My Keyboard
I used a Das Keyboard 3 for the longest time. It’s an awesome rugged board (with a ruler to boot!) that served me well. But as it has a regular row-staggered key layout, the position of my arms and hands began to leave my right forearm with aching pain after a decent stretch of time programming. Staying away from the computer for a few days would allow the pain to slowly dwindle until my next programming session which would cause it to flair up again.
I was looking for a solution that would put the issue to bed. I had tried in no particular order: wrist braces, arm mounts, wrist rests, chair heights and arm rest heights, desk height and massaging after a work day. There were various levels of success but no silver bullet.
Enter, split keyboards.
I decided to try a split keyboard after my lack of success dealing with the pain. I’m not sure why I didn’t try it earlier. Maybe it felt like a bridge too far? But after having seen it recommended by several different YouTube channels I follow, I was now at that bridge and ready to cross it.
There was an overwhelming amount of options on where to get started with split keyboards. An option that’s found frequently in offices everywhere, is the Microsoft Sculpt Ergonomic Keyboard. But I wanted a mechanical keyboard, so it was going to be an “ErgoMech Keyboard” for me. I saw recommendations for the Glove 80, Kinesis Advantage, Dygma Raise and ZSA Moonlander. Some of these were quite pricey and I didn’t want to throw several hundred dollars at a keyboard if I didn’t already know it would help.
Digging a bit deeper and stumbling upon the /r/ergomechkeyboards community, I ended up picking a board I needed to build myself. Building it myself would cut down the cost and be a fun little project. I landed on the Keebio Iris Rev 8 after I was tossing up between the Iris and the Lily 58, but this video sold me on the Iris. It looked magical.
The Iris is a 56 key board. It didn’t look like it would take all that much to adapt to. I’d have to get used to having some extra keys on the thumbs, but the placement of all the other keys was similar to a regular board. I ordered the kit and waited for it to arrive.
What I didn’t know at the time was that I was tumbling down the rabbit hole, head first.
When it arrived I wasted no time and assembled the board. I ordered some pudding keycaps (they allow a translucent sidewall allowing the led to shine through) and some Durock Dolphin key switches. The switches were one of the options on the Keebio site that I could choose with the keyboard kit. I didn’t know what key switches were any good at the time. I had experienced tactile brown switches that came with my Das Keyboard before this point. Configuring the key layout was easy. I opened Via in the browser and tweaked only a few keys here and there. Here was the finished build:
I got comfortable with using the split layout very quickly. Surprisingly the only typing mistake I was making was using the wrong finger to press ‘c’ . After the first few days the pain in my right forearm had strangely switched to my left forearm, then after a week or so it had completely subsided. For the time being it seems to have been the solution. I no longer get any forearm pain and I could not be happier.
Falling down the Rabbit Hole
It wasn’t long after I was tweaking my key layout and developing a symbol layer. I took a small piece of paper and folded it into a half, then opened it up so it would stand on it’s own. On one side I drew the symbols in the order they appeared on the symbol layer. Keeping this upstanding paper in front of me I had a reference for what was on the symbol layer right in front of my eyes. This helped ease the learning process and build the muscle memory. You can see this bit of paper in figure A.
I was searching through old posts in the /r/ergomechkeyboards subreddit to get ideas on how to improve my layout. Seeing so many other’s setups and keyboards made we want another. I had my eyes set on a new board. The Corne.
The Corne is a board with 42 keys. I would need to change my layout to adapt to this keyboard. I started tweaking my layout and introduced a numbers layer. I removed the top row of keycaps from my Iris to begin learning the muscle memory in preparation for the Corne.
Not sure when it happened, but I thought that if I’m already dropping keys to get a layout to work with the Corne; why not full-ass it and get down to a 34 key layout and use a Ferris Sweep instead? This idea didn’t stay an idea for long.
Key Layout Principles
When building my key layout there’s a few principles I followed:
Keep it simple with as few layers as possible
Optimal for use with Vim
Optimal for programming
Make only one or two small incremental changes at a time
Keep keys spatially consistent with a regular board
I didn’t want to have a lot of different layers. I wanted to keep it as simple as possible. I also have no problem at all with QWERTY. I have no desire to mix it up with Workman or Colemak-DH or any other layout at this stage. I wasn’t a fan of having HJKL anywhere else except the home row. I wanted to keep things spatially consistent with a regular board I’m used to. If numbers are found 1-9 along the top of a board I should try to be consistent with that. I always remap Caps Lock to escape. As caps lock is usually found in the far left of a board, I should try Escape it as close to this position on the board as possible. I wanted the layout to make the board feel like a regular keyboard, just condensed down.
Following these principles, my layout evolved with use. I made small iterations every few days. Only a single change or two that I could adapt to in small increments. If I didn’t like the change after a few days I’d update the layout again and try something new.
Evolving a Key Layout
My layout evolution went something like this.
Arrow Keys
I put the arrow keys on a layer where H J K L are. This aligns with the vim motions and was like second nature already. Any piece of software that supports keyboard navigation via arrow keys now feels like I’m using vim everywhere.
Thumb Cluster
I didn’t like having more than 2 thumb keys in the thumb cluster. I rarely used the 3rd thumb key on my Iris and the 4th thumb key I never used at all (maybe because of the goofy placement of it on the Iris). I liked the idea of a primary thumb key where my thumb would rest, and alternate thumb key to hold and activate a layer.
On the thumb cluster I had shift on my left thumb, space on my right. Holding the alternate left thumb key triggered layer 1 (my symbol/navigation layer), holding the alternative right thumb key triggered layer 2 (my number/overflow layer). Holding both alternate thumb keys would trigger layer 3 (media controls, auxiliary and function keys).
Home-Row Mods
I persisted with home-row mods with a few different iterations but was running into issues. The first was with shift. Having to do an odd sort of dance with timings when typing in order to properly capitalize letters was uncomfortable. I got kind of used to the flow, but I didn’t like it. Putting shift on my left thumb key solved this problem. Shift is kind of like a layer key so it made sense in my mind for it to be part of the thumb cluster along with the other layer keys. This removed the need to do any sort of typing timing dance to get the correct activation for capital letters.
The second was accidental activation of the modifiers. With hjkl on the home row and before home-row mods, I would hold down h, and the key h key would repeat and I would scroll down a buffer. With home-row mods, holding down h the firmware assumed I was holding the control modifier and was waiting for a second key press.
Moving the modifiers to the bottom row instead of the home row was the game changer and felt surprisingly natural. On a regular keyboard, the modifier keys are on the bottom of the keyboard. The keys that were on the default layer on the bottom row were also infrequently held down. In my regular typing, I’d normally bounce off these keys quickly and return to the home row. This meant that when they were being held, it was always when I wanted to activate the modifier. For me, this completely cleared up the issues with activation and timings. I don’t even think about timings. I just type as sloppily as ever and don’t have any accidental activation of any modifiers.
Number Layer
For my number layer I moved the numbers down from where they’d normally sit above the letters, so Q = 1 W = 2 etc. So along the top row of keys was my numbers 1 through 9 followed by 0. I was also a fan of a numpad so having numbers 789 across the top(where U I O were) allowed to have those numbers double as the top row of a numpad. I put 456 on JKL and then 123 under that. The right half of the board now doubled as a numpad also.
Symbol Layer
For the symbol layer I started by shifting the symbols that appear on the number row down. So ! appears on 1 which is above Q so I put it on Q. I then began to tweak this further as I wasn’t all too happy with where some symbols were. I put backslash on slash so I can press the same key but when I’m holding the layer or not changes direction. I put backtick on m as m is key to set a mark in Vim. So pressing the modifier was the difference between creating a mark and jumping to the mark.
With regards to braces and brackets, these are almost always created in pairs, so to make these as comfortable as possible I made them next to each other on an inward roll of the fingers. Inward rolls seem to be the most comfortable way to press common pairings of keys.
Other keys
Backspace I but on a layer where H is. This lines up in my brain as H goes left and holding a layer key and pressing space, deletes a character and moves left.
Enter key I put on the Spacebar on layer 1.
I was already used to remapping Caps Lock to Escape, so I placed Escape on the same row that Caps Lock sat on, on the far left of the keyboard, just on another layer.
I didn’t really have a good placement for Tab so I put it under my strongest finger on layer 1.
Here’s my full layout as of writing:
This layout has been working amazingly for me. I don’t have any combos, or contortions my hands need to do. I’m not constantly toggling layers on and off, with only 3 layers. The layout feels like regular keyboard just shrunk down, at least in terms of approximate key placement. Reaching any key is only 1 key length away at most.
Bling Bling
My current board is a Ferris Sweep Bling MX with Baby Kangaroo tactile switches and mt3 /dev/tty keycaps. I glued some neodymium magnets to the bottom and to some rubber feat allowing me to tent the keyboard with the feet on, and take the feet off easily when traveling with the board. I’m really enjoying this board at the moment and it’s likely to be an endgame set up for me…for the foreseeable future.