🏠 Go home.

Keyboard Layout Exploration

Published on

I spend a lot of time typing. It's the easiest way for me to pull my thoughts in to a form that I can share/develop. And of course, I spend a lot of time typing at work, since it's sort of my job, whether it's writing code or (more and more) writing documentation and emails and architecture documents.

As this is the case, I spend a lot of time thinking about how to make that less bad; at work, I have an Ergodox split keyboard which is really great for this stuff when paired with a standing desk. It can be programmed with custom layouts, and I have a layout that is QWERTY with custom symbol placement, and a thumb cluster designed to make editing with Emacs less bad in that the thumb cluster has my Alt Control and Super modifier keys on both, allowing me to easily hit any Emacs death grip combo that I've yet to rebind in to something that I can use.

However, I don't take my Ergodox with me, it lives at work. When I am out and about, I usually have a Ortholinear Keyboards Planck with me, and last week my Preonic arrived. I had to update my Planck firmware to work with the new version of the shared firmware, and thus took some time to really consider how to improve my experience typing in such a constrained setup.

For the most part, I've had a standard QWERTY top layer with a few minor changes, based on my failed experiment with Arensito. In short, my "raised" layer is a full Arensito symbol layer, which was in my opinion the best part of that keyboard. That is mirrored in my Planck, Preonic and Ergodox setup and works quite nicely. When I ported it to the Preonic, I did something that most people would think is strange, and treated the thing as though it was a Planck with a bottom row, rather than a Planck with a top row. This is directly inspired by the Arensito design, where the thumb has access to many more keys than in a normal setup.

There are only one key for the thumbs to access. The thumbs dexterity should make them handle about 4 keys each(?).

The bottom two rows, thus, end up containing function keys on the mostly-useless pinky/ring zones, and a core of modifiers, space and backspace. This means no using my pinkies to find modifier keys, or backspace, tab, that whole lot – they are readily available with my dexterous index and thumb fingers.

I've also moved my pinkies out to the very outer edge of the keyboard, meaning that the keys which would normally be pinky-hit on each edge (Shift, Tab, Tilde/Grave, Quote, Return and Backspace) are accessible by those same highly dexterous index fingers. Combined with my latest modal editing experiment, we end up with a nice setup, I just need to bind a dexterous key to C-q, or Mail or Search or something. The QMK Firmware in the Planck and Preonic have an idea of a Space Cadet Shift lifted from Steve Losh. The implementation itself is something I'm sort of opposed to, especially with a standard 108 key, but the idea is similar to the ADJUST layer in the default Preonic/Planck firmware where if you hit Raise and Lower simultaneously, it moves to ADJUST – only that would send the Modalka mode toggle in my case.

The end result is something I'm still getting used to but I like it so far:

* Qwerty
* ,-----------------------------------------------------------------------------------.
* |   q  |   w  |   e  |   r  |   t  | Esc  | Esc  |   y  |   u  |   i  |   o  |   p  |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |   a  |   s  |   d  |   f  |   g  | Tab  |   '  |   h  |   j  |   k  |   l  |   ;  |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* |   z  |   x  |   c  |   v  |   b  |Shift |Enter |   n  |   m  |   ,  |   .  |   /  |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* |   F1 |   F2 |Shift |Lower |Backs |Backs |Space |Space |Raise |Shift |   F9 |  F10 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |   F3 |   F4 |Shift | Ctl  | Alt  | Gui  | Gui  | Alt  | Ctl  |Shift |  F11 |  F12 |
* `-----------------------------------------------------------------------------------'

* Shifted Qwerty
* ,-----------------------------------------------------------------------------------.
* |   Q  |   W  |   E  |   R  |   T  | Esc  | Esc  |   Y  |   U  |   I  |   O  |   P  |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |   A  |   S  |   D  |   F  |   G  | Tab  |   "  |   H  |   J  |   K  |   L  |   :  |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* |   Z  |   X  |   C  |   V  |   B  |Shift |Enter |   N  |   M  |   !  |   ?  |  \  |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* |   F1 |   F2 |Shift |Lower |Backs |Backs |Space |Space |Raise |Shift |   F9 |  F10 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |   F3 |   F4 |Shift | Ctl  | Alt  | Gui  | Gui  | Alt  | Ctl  |Shift |  F11 |  F12 |
* `-----------------------------------------------------------------------------------'

* Raise (symbol layer)
* ,-----------------------------------------------------------------------------------.
* |   _  |   [  |   ]  |   "  |   #  |   `  |   ~  |   $  |   "  |   <  |   >  |   +  |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |   -  |   {  |   }  |   0  |   /  | Tab  |   "  |   |  |   1  |   (  |   )  |   =  |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* |   6  |   7  |   8  |   9  |   0  |Shift |Enter |   *  |   2  |   3  |   4  |   5  |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* |   F1 |   F2 |Shift |Lower |Backs |Backs |Space |Space |Raise |   %  |   ^  |   &  |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* |   F3 |   F4 |Shift | Ctl  | Alt  | Gui  | Gui  | Alt  | Ctl  |Shift |  F11 |  F12 |
* `-----------------------------------------------------------------------------------'

It'll surely be an interesting experiment, but the nice thing is that with the Preonic I can more or less unify my work and mobile keyboard layouts including the thumb clusters; I can even see myself finally unlocking Arensito again now that I have non-profiled printed keycaps! 🙏

Respond to this note:

Ryan Rix is a computer infrastructure fanboy who dabbles in decentralized systems. Reach him on twitter as @rrrrrrrix, via email to ryan@whatthefuck.computer or on Facebook or on Matrix as @rrix:kickass.systems.