Ergodox EZ: "The endgame of mechanical keyboards"
TOC
Introduction
I have always been a really opinionated individual, meaning that I have strong opinions how some things should or should not behave. Due to this I am always customizing whatever environment I will be interacting with. As a software developer, my Operating System (OS) and keyboard are my main tools and I never like to be limited by the things I am able to do. I like to think scripts / OS / keyboard / environments, to be an extension of my body, as such I should be able to control them as I please.
My previous keyboards the Pok3r were programable but lacked the robustness and flexibility I wanted, it felt more like a hack. Finally after deciding whether or not I should spend another $400 in a new MK (mechanical keyboard) I settled the Ergodox EZ’s products since it already comes with Oryx an online interface and VCS for customizing your keyboard, and Wally a tool to flash the board in your keyboard, and obviously your choice of mechanical keyboards in addition to its marketed ergonomical features.
My old pok3r babies |
Vim: There is no place like the home row
One last thing I would like to address before going more in depth my keyboard layout is Vim. This is a text editor that is based round the philosophy that moving away your hand from the home row to the mouse takes too long, you should be able to manipulate everything using only the keyboard and even further, you should be able to do so while having a relaxed hand position in the home row: asdf(left hand), hjlk(right hand).
There is no place like the home row |
Layout tour
Without further ado I will give a tour explaining the features of my layout.
Expand to display my keyboard layout
The board in the keyboard is designed to support virtual layers, it offers several way to switch layers, but I mainly use:
- TG (toggle layer): Pressing this key will change the current layer until this key is pressed again
- LT (Momentary layer toggle): Pressing and holding this key will change the current layer until this key is released
OS Layer (Windows / MacOs)
This layer is basically a switch between Windows and MacOs and it is a persistent layer changed accessed via a TG toggle. This basically accounts for the fundamental differences in hotkeys due to differences between the two OS e.g CMD / Option / Ctrl / Win. For work I use MacOs and on my free time I use Windows since its the only platform where I can reliably play video games.
As mentioned previously I always perform certain tweaks in all my environments, before I used to do it at the software level, however I can now do it in the keyboard’s memory saving time and frustration. I will explain some of the key changes motivated by the Vim philosophy below and include a screenshot with annotations:
Some special features |
Remap caps-lock to escape and control
I have remapped the uselesss Caps-lock key to behave as Escape when tapped, and behave as Ctrl/Cmd when held down. To exit out of modes in vim, you have to constantly press the escape key, so this saves my pinky, and carpal tunnel pain. Additionally, by remapping it to behave as Ctrl/Cmd when held down, I have a way of easily accessing all of the commond hotkeys (E.g Ctrl+C - Copy, Ctrl + X Cut, Ctrl+V - Paste). You wont know what you are missing until you try it yourself. Check out this article that teaches you how to remap this key in Windows, MacOs, and Linux
Moving backspace (delete) key one row down
Probably going to get criticized by this (my friends hate me, I dont have alphanumeric keycaps and they can never write in my computers) but Backspace key one of the most commonly used keys. Come on we all make mistakes(。•́︿•̀。) save you right pinky and move that key a row down… shh no one will notice (。•̀ᴗ-)
Auto shift modifiers
This feature I use in several places, however I remapped the Tab key to function as Tab when tapped and when held it acts as the Ctrl+Shift modifier. Ctrl+Shift is used for a lot of hotkeys, now I can access all of these with one finger and without leaving the home row
Hotkey layer
Additionally I have been working on a hotkey layer for each of the unique features in the OS in the screenshot below I have some hotkeys so I can use the features of the magic mouse from my home row, such as changing workspaces and showing all windows in a workspace.
Hotkeys Layer |
TL;DR: This layers keep the functionality of my layers and keyboard OS agnostic
$Mod Layer
$Mod as in modifier, I access this $Mod Layer through a TG Toggle in my left hand. I basically use this for keyboards that dont have a numrow, or just because I want to move my numrow down. Additionally all of the numbers have autoshift modifiers, so you can hold down they number and you will get its symbol… pretty boring right?… Wrong on the right I have remapped hjkl and remapped them to ← ↑ → ↓ I now have system wide hjkl arrow keys. Can you tell I am a vim user?
Mod Layer |
Fn Keys
Not much to say you cant live without Fn keys and you can even map it to some media controls, etc. I use a TG Toggle in my right hand for the Fn Layer
Fn Layer |
Mouse layer because thats a thing
Its not that I hate my mouse, I just am lazy :P so if I dont have to put my hands away from the keyboard I won’t do it. I use J as a TG toggle to access the mouse layer, move your mouse around with WASD, you can even control your pointer acceleration, use mouse buttons and scroll up and down.
Mouse Layer |
Browser
Who is in their browser all day 🙋🏿♂️… I use F as a TG toggle to access the browser layer
I have remapped all of the popular hotkeys such as:
- Close tab - Ctrl+W
- Reopen closed tab - Ctrl+Shift+T
- Left tab - Ctrl+Shift+Tab
- Right tab - Ctrl+Tab
- First tab - Ctrl+1
- Last tab - Ctrl+9
- Back
- Forward
Browser Layer |
Numpad
I am a fan of 40% and 60% keyboards and these dont have an actual numpad or do they? I use D as a TG toggle to access my numpad
Numpad Layer |
Symbols (Windows / MacOs)
This is the most straightforward layer I guess… I am a programmer, and I use symbols a lot. I use S as a TG toggle to access my symbols layer
Symbols Layer |
Gaming
Basically I just have a vanilla keyboard layer, with no auto-shift, no layer switching, etc. Gaming requires you to hold down keys and register them as being held down such as wasd to move around, etc. I just press this key whenever I want to hate myself even more and jump into a comp CSGO match. Add me on Steam if you want to get to Silver I with me. I use an LT toggle in my left hand for this layer since I want it to be persistent.
Closing remarks
I feel like my layout is still not yet complete, Ergodox offers a really robust keyboard and way of configuring, possibilities are endless so if you have any suggestions, I’d love to hear them. Feel free to clone my layout.
Misc
Using alphanumeric keycaps is for chumps, get yourself a real pair of custom key caps. Mine are GMK Dots hehehe
Ergodox EZ with GMK Dots keycaps |
FYI I probably have too many keyboards so if you are looking for a Planck EZ layout I have one :’) its useful having a portable keyboard offering almost all the features of the Ergodox
Planck EZ |