The current T-34 keyboard layout

I’ve been documenting my own keyboard layout in a series for a while now. But as the layout is constantly changing it’s been difficult to piece together how the layout currently looks like, so this post tries to show how the layout looks right now in it’s entirety.

If you want to read about the background and philosophy about the layout, please see the original T-34 post, and to see it’s evolution please refer to the T-34 series. The layout is implemented using QMK and the code is on GitHub.

The layout is made for a small 34 key keyboard, I use the Ferris with flat choc keycaps to easily press combos.

Legend

Legend

Layers

Layers are the meat and potatoes of any layout for a smaller keyboard, and mine is no different.

Base

Base layer.

The repeat key is used to output the last pressed key. I shift keys using auto shift (see long press) and CAPSWORD. The letters Z and Q, together with a bunch of other keys, are on combos.

Swedish overlay

Swedish overlay.

When I want to write Swedish I activate this layer that replaces ()_ with åäö, or I use combos from any layer.

Navigation layer.

Gui-W, Gui-E and Gui-R are used to switch between monitors and Gui-J/Gui-K to switch windows in xmonad. Ctrl + arrow is used to switch windows in Vim. Tabbing is for switching tabs in Firefox.

Workspace layer

Workspace layer. All keys have an implicit Gui modifier.

This is used for all window and workspace management in xmonad. Some common operations are also on the navigation layer.

Windows layer

Windows layer. All keys have an implicit Alt modifier.

This is purely to enable window switching using Alt-Tab and Ctrl-Alt-Tab, without releasing Alt.

Numbers

Numbers. The darkened keys turn off NUMWORD.

While I can activate the number layer persistently (using leader sequences) I typically use combos for single digitis (like 0), or NUMWORD for larger numbers (like 1984).

NUMWORD makes the number layer smart, so it will deactivate when certain keys are pressed (colored dark gray in the image). It’s used to type numbers in text or code and for relative movement in Vim, where 17J would move 17 lines down and then turn off the number layer.

@u is there to easily activate macros in Vim. For example 7@u in the number layer would run the u macro 7 times and then turn off NUMWORD.

Function keys

Function keys.

Symbols

Symbols.

Similar to the numbers layer, there are combos that are used to output standalone symbols. The combos follow the layout of the symbols layer, and combos with same-side thumb. So Space + left-hand key or E + right-hand key outputs a symbol, regardless of what layers are activated.

Some common symbol sequences, like ->, exists as combos and others, like  != , as long press.

One-handed Shortcuts

Shortcuts.

To give access to common QWERTY shortcuts using the left hand, for programs where I have my right hand on the mouse/trackball. (Long press still shifts them.)

Special symbols

Specials (with ←↓↑→ symbols, not arrow keys).

Some of these are dead keys, to add diacritic to any letter. To get é I do ´ then e, and the operating system will merge them together.

Modifiers

Modifiers.

I typically use long press for shift and combos for other modifiers, this layer is a fallback for when those aren’t enough.

Combos

Combos is another fantastic tool that I (ab)use a lot. Simply put it allows you to press multiple keys at once and acts as an additional key—very useful for smaller layouts.

Note that combos are layer independent, and work the same regardless of what layers are activated. The base layer is shown in the graphics for reference.

Horizontal combos

Horizontal combos with nearby keys.

Note that some have a separate hold behaviour; for instance holding Escape activates the symbols layer, allowing me to output [] easily, and holding Tab activates the modifiers layer. Holding Enter turns on the windows layer together with Alt.

SWE activates the Swedish layer, and if prefixed with ()_ it will replace that with åäö and vice versa. So for example if I typed hall( I would press SWE to get hallå, with the Swedish layer activated.

Split combosResult
S + H"
N + I'
V + DAlt (one-shot)
L + )Leader key
T + ACAPSWORD

Vertical combos

Vertical combos. All except ; are pressed with a single finger between the keys.

vsplt and hsplit splits windows in Vim, and there are also horizontal combos for closing a window and saving.

Numbers and symbols

Combos using Space and another key.
Combos using E and another key.

Combos with a thumb key is used for digits or standalone symbols, with the logic of same-side thumb + key = symbol and opposite-side thumb + key = digit. The placements follow the numbers, symbols and Swedish layers. Both thumbs activates NUMWORD.

Long press

Most keys have a different behaviour when tapped compared to a long press. Most commonly I use this to produce shifted keys (called auto shift). So to get A I press and hold a until it turns up.

There are a bunch of special cases as well (mostly on top of combos):

TapLong press
_ < > / \ #Double, e.g __
" ' = ` 0 .Triple, e.g """
| & =Double with spaces, e.g  || 
! !=  (with spaces)
?{:?}
#{:#?}
%%{}
( [ {Close and move cursor between
@@u (paired with qu combo for Vim macro execution)

Leader sequences

I use the combo l + ) as the leader key. This will wait for a sequence of key presses (in contrast to combos where keys must be pressed at the same time). This is used with mnemonics for rarely used outputs:

Leader sequenceAction
l + ), cCaps lock
l + ), t, nToggle Number layer
l + ), t, sToggle Symbols layer
l + ), t, cToggle Caps lock escape swap

CAPSWORD

CAPSWORD is a “smart caps lock”. It works like a regular caps lock, except it automatically turns off after certain keys are typed (most commonly space).

It will not turn off on these keys: a-z å ä ö _ - Backspace and Repeat.

NUMWORD

NUMWORD is a “smart layer”. It’s similar to CAPSWORD, except it’s for the numbers layer instead of caps lock.

It will not turn off on these keys: 0-9 % + * - _ . , : = x Backspace Repeat Reverse Repeat and Enter.

Repeat key

The repeat key simply repeats the previous key. So to type fall I can type f a l Repeat, using four different fingers instead of pressing l twice. It can also repeat things like Ctrl-c or Delete.

There’s also a reverse repeat key that “reverses” the last pressed key. The idea is that if you pressed PageUp a bunch, but went too far, you could press Reverse Repeat to output PageDown.

See T-34/0 for the introduction of the repeat key and reverse repeat key for some more information about them.

More info

While I try to keep this post updated, reading the code will always give you a more up to date reference. If you’re interested in why the layout looks like it does, I try to write the motivations in the T-34 series.