The opinionated keyboard layout


Categories: Tech-notes Tags: notes

TLDR; An opinionated keyboard layout guide using dual function keys inspired and referenced by this post.

Over the past few months, I’ve been obsessing on building the “perfect” keyboard layout (I know! LOL). It all started with the PlanckEZ keyboard and the community surrounding such devices. Not long after seeing the potential of this little tool, I decided to go down the rabbit hole in order to tweak my everyday workflow and increase efficiency. I switched physical layouts from Qwerty to Colemak and settled with Dvorak (which I still use and enjoy very much!). I’ve even installed Alfred app and configured workflows with hotkeys, not to mention Karabiner where I added minor configurations for the standard integrated keyboard (mac user here).

All these changes made typing such a joy and I managed to be productive for very long sessions without my hands feeling tired and breaking my mental workflow with complex key bindings exercising awkward finger gymnastics.

Not until I had to use a “normal” keyboard that I found the friction to think and type fluently. This is were I realised that I could lay down some areas, which might be interesting for the average keyboard user, in order to enjoy typing more and feel discomfort less.

The ideas I present here are the ones I find useful and currently use, you can pick and choose the ones that seem interesting for your case.

First of all a digression, the shape of the keyboard. Why is it like that, why do we need a huge space bar, why is the backspace in an isolated corner, why is the escape key in the opposite one, why is the enter key on the right and tab on the left… Imagine you could change this based on YOUR specific needs, YOUR comfort and way of typing. Yes, this tool should be customizable in my opinion.

So, here are some custom changes that work really well for me. Keep in mind that I favor comfort and health in the first place.

Try to use your thumbs as much as possible (not just as space bar hammers), and save your pinkies, ring fingers and wrists from unnatural movements. We can take a look at the gaming industry as an example with special attention on the game controller. The tech giants have invested a lot of resources in order to design the most comfortable and efficient way of gaming. This design hasn’t changed much with the latest console generations either. Why? Because people use it for hours and I guess they (the console makers), want their consumers to enjoy the experience and have a natural flow of in-game control. What’s interesting is that the game controller shares similar design principles across different consoles which (one could argue) is adapted more to the hand’s anatomy and way of holding and grabbing. So what’s keeping the average keyboard user away from changing the defaults into something more comfortable and efficient too? Reshuffle the archaic keys into something more fitting for your specific use case (programmer, writer…).

Use a programmable keyboard, with a short space bar - or a space bar more aligned to the right/left thumb. Use dual-function keys; pressing space bar once registers a space code, holding space bar changes its function to the SHIFT key. This way, for example, you can save those poor pinkies of the unnatural reach to the shift keys. Remember the game controller? What are the pinkies used for in that case? Not much.

With a programmable keyboard you can skip other unnecessary key combos. Copy, Cut, Paste, Undo - these could have their own dedicated key. Just one key press. Avoid pinky “rigor mortis” while trying to copy and paste text. :)

The caps-lock. Make it a useful backspace. Option + backspace - delete word. Command + backspace - delete the rest of the line. Much faster than banging on the single backspace key, deleting letter by letter.

Layered keys, as mentioned with the dual-function space bar. Holding a key (right Command/Ctrl?) change the layers of the home-row to input symbols. As a programmer, why not move all those special characters to a more comfortable reach (){}[]|/".

Here’s another layered key idea: Arrow keys (the inverted T) - right alt/option could be a special layer that will bring the arrow keys to your reach. Holding Alt with your thumb makes PL;’ arrow keys. No more reaching to the lower right in order to move around.

Repeating text, combos, sequences? Most programmable keyboards can record macros. Try to make use of it, no additional software is needed for this functionality.

On the long run these changes won’t make you a super typist or a “rock star” programmer but the ride will be much smother and probably more comfortable, such as holding that oddly shaped game controller for hours and hours.