A 36-key keyboard layout

Fabio Natali, 13 December 2023

Intro

At some point in 2021 my quest for minimalism brought me to buy a lovely small mechanical keyboard called Keyboardio Atreus, based on Phil Hagelberg's original design. The keyboard's keywords are, in random order, 44-key, ergonomic, vertically staggered (a.k.a. columnar), unibody, open-source, programmable, wired.

atreus.jpg

Figure 1: A Keyboardio Atreus with blank caps. Image: Keyboardio.

My experience with the Atreus

Before the Atreus I was on a 60% keyboard. It took me some acclimatisation to get used to the tight 44-key real estate. As one does in these cases, I took advantage of the keyboard being programmable and designed a custom layout. With this in place, 44 keys no longer felt that tight.

The Atreus is powered by a Microchip ATmega32U4 MCU, which I think is supported by all major firmware projects, e.g. QMK, ZMK, … However, the Atreus can also be programmed with a Microscheme firmware called Menelaus, written by Phil Hagelberg. Scheme and minimalism all the way down to the firmware level? I'm in!

I love my Atreus, it's been working great for me, and I'd recommend it to anyone who wants to enter the 40% world.

How much minimalism is enough minimalism?

The problem is though, how much minimalism is enough minimalism? Why 44 keys and not, say, 42 (as per Phil's original design) or 40 or… even fewer?!

Eventually, after using the Atreus for a couple of years, I thought I could do with fewer keys. I wanted to keep the so-called home row (asdf and jkl; on an usual Qwerty) and the keys immediately around the home row. I was keen to avoid the keys that are farther away and therefore more inconvenient to reach.

I came up with a daring 36-key design, a 3-times-10 matrix (fingers) and 3-plus-3 row at the bottom (thumbs). Here's what the layout looks like.

Layer 0:

q     w     e     r     t        y     u     i     o     p
a     s     d     f     g        h     j     k     l     enter
z     x     c     v     b        n     m     ,     .     /
            shift super ctrl     alt   fn-0  space


Layer 1:

1     2     3     4     5        6     7     8     9     0
[     ]     -     =     ___      bcksp left  down  up    right
\     ;     '     `     ___      ___   tab   pgdn  pgup  esc
            shift super ctrl     alt   fn-0  fn-1


Layer 2:

f1    f2    f3    f4    f5       f6    f7    f8    f9    f10
___   ___   ___   ___   ___      ___   ___   ___   ___   ___
___   ___   ___   ___   ___      ___   ___   ___   ___   ___
            shift super ctrl     alt   fn-0  fn-1


___: unallocated key

I've been trialling the layout for a couple of months and I'm really happy with it. For now I've been using the 36-key layout on my 44-key Atreus, ignoring 8 redundant keys. When I have the chance, I'll probably switch to a proper 36-key keyboard, like the Corne Mini or an equivalent unibody.

Hard questions to ask

I can hear you, dear reader, asking why not 34 keys though? Why not 32?

Personally, I feel that going beyond the 36-key barrier would require the use of dual-mode keys, i.e. keys that act as regular keys or as modifiers depending on whether they're pressed alone or in combination with other keys. Miryoku is a popular layout based on dual-mode keys known as home-row modifiers.

It's a tempting option, but dual-mode keys are not fully supported by Menelaus at this stage and I wouldn't feel like switching away from this lovely Scheme-based minimalist firmware, to be honest. I also read that dual-mode keys can be difficult to finetune when it comes to the various timing options, e.g. to set what counts as a tap and what as a hold.

So all in all, I think I'm happy where I'm. 36 keys it is then!

Revision 3a220d5.