Tarmak Steps

TARMAK: PAVING THE ROAD TO PERFECTION

Each of the 4 Tarmak layouts changes 3–4 new keys from the previous step until you've made the full transition to Colemak. This is done by breaking up the loop of keys that move into each others' positions, misplacing only the very infrequently used J in the process. There is one big loop of 14 changed keys (Y>O>;>P>R>S>D>G>T>F>E>K>N>J) that you can learn in up to four steps, and one small self-contained loop of 3 keys (L>U>I). Each Tarmak step brings at least one of the most common letters in English (ETAOINSHR) to the home row where it belongs, right under your fingertips.

This animated image, like the one at the top of this page, shows the full Tarmak transition from QWERTY to Colemak. The keys moved into place for each Tarmak step are shown in a different color following the rainbow from red via orange, green and blue to violet.


Tarmak Spectral Animation

Here I've explained each of the Tarmak "tar lumps" in more detail:

Tarmak steps:
1) The (J)>E>K>N "most essential" loop, fixing the important E (and N)

Tarmak 1 RBo E Tarmak1(E)

2) The (J)>G>T>F loop, bringing the important T into place

Tarmak 1-2 RBo ET Tarmak2(ET)

3) The (J)>R>S>D loop, getting RSD into place – all of which are relatively frequent!

Tarmak 1-3 RBo ETR Tarmak3(ETR)

4) The J>Y>O>;>P loop, getting O in place and finalizing the big loop

Tarmak 1-4 RBo ETRO Tarmak4(ETRO)

5) The L>U>I self-contained loop - step 5 is simply Colemak!

Tarmak 1-5 RBo ETROI Tarmak5 = Colemak


Here are the spectrally color-coded Tarmak steps again, together in one Colemak image.

Tarmak ETROI Spectral ANSI

This image shows the Tarmak steps (red – orange – green – blue – purple), leading to "vanilla" Colemak.
Not shown here is how J hops around temporarily to QWERTY E, G and R before finding its place as explained above.

The next image shows the Tarmak steps leading to the Colemak-DH ergonomic variant, as described in the following section. I like it!

Tarmak ETROI Spectral CA Z em

This image shows Tarmak-DH on an ANSI Angle(Z) modded board, leading to Colemak-DH.
On an ISO keyboard you can use a simpler Angle mod without splitting the ZXC keys.

TARMAK-DH: STEP & CURL

The Colemak-DH alias Curl(DH) ergo mod is an ingenious way of getting the frequent D and H keys to better positions for people who dislike the "middle trench" positions (QWERTY GH) and feel that this part of the home row doesn't feel quite like home after all! See the Ergonomy page or the DH-mod's creator SteveP's ColemakMods pages for more info.


Tarmak CkA ISO Spectral Animation

Keep your hands at home position (QWERTY ASDF JKL;) and stretch inwards then down. Which is more comfortable?

The Curl(DH) mod requires an Angle mod (see the Ergonomy page) to work well on standard row-staggered keyboards. Colemak-DH is good on matrix boards too, though.

In Oct 2020, SteveP, myself and others agreed on promoting one common Colemak-DH:

Tarmak-DH on ISO keyboards

For ISO keyboards, the Angle mod is simple enough as ZXC move one key to the left while the ISO key moves into the middle.
The standard CurlAngle mod keeps V untouched so that the Curl modded positions for D and H are symmetric.

Tarmak ETROI Spectral CA ISO

Spectrally color-coded Tarmak-DH with the CurlAngle-ISO mod.

Tarmak Curl(DH)Angle-ISO:

Here are the Tarmak steps for Colemak-DH, shown on an ISO keyboard:


1a) The E>K>N>(J) "most essential" loop, fixing the important E (and N)

Tarmak 1 RBo E Tarmak1(E) "vanilla"

1b) The H>M Curl(H) swap, by default combined with step 1a

Tarmak 1 C RBo E Tarmak1(E)-Curl

2a) The Angle (B>C>X>Z>_) mod, in preparation for Tarmak2-CurlAngle

Tarmak 1 CA RBo E Tarmak1(E)-CurlAngle-ISO

2b) The (J)>B>T>F loop, bringing the important T into place

Tarmak 1 CA RBo T Tarmak2(ET)-CurlAngle-ISO

3) The (J)>R>S>D loop, getting all of the relatively frequent RSD into place

Tarmak 1 CA RBo R Tarmak3(ETR)-CurlAngle-ISO

4) The J>Y>O>;>P loop, getting O in place and finalizing the big loop

Tarmak 1 CA RBo O Tarmak4(ETRO)-CurlAngle-ISO

5) The L>U>I self-contained loop - step 5 is simply the full Colemak-DH!

Tarmak 1 CA RBo I Colemak-DH (ISO)

I've split steps 1 and 2 above for clarity. But if you're the careful type you may choose to split them in practice too:

The full Tarmak1-Curl(H) step is a 6-key one which may be a bit much if you're new to layout switches. If that is the case, consider taking on the normal Tarmak1 step first!. In fact, you could do the H-M swap whenever you like in the progression, but for my own sanity's sake I've put it in step 1.

Similarly, if it seems that a lot is happening in the Tarmak2-Curl(DH) step then you may try tackling only the CurlAngle mod (_ZXCVB → ZXCBV_ in this case) first. In this case, the B gets temporarily misplaced. Several implementations allow you to select the DH mod separately.

Tarmak-DH on ANSI keyboards

For ANSI/US keyboards, you have to choose an ANSI-Angle mod as these boards don't have the extra key between Z and LShift. The most common one is Angle(Z), which moves Z into the middle where the B used to be as XC move to the left. The Curl mod then rearranges B and D.

Tarmak ETROI Spectral CA Z em

Spectrally color-coded Tarmak-DH with the CurlAngle(Z)-ANSI mod.

Tarmak Curl(DH)Angle-ANSI:

Here are the Tarmak steps for Colemak-DH, shown on an ANSI keyboard:


1a) The E>K>N>(J) "most essential" loop, fixing the important E (and N)

Tarmak 1 RBo E Tarmak1(E) "vanilla"

1b) The H>M Curl(H) swap, by default combined with step 1a

Tarmak 1 C RBo E Tarmak1(E)-Curl

2a) The Angle (B>C>X>Z) mod, in preparation for Tarmak2-CurlAngle

Tarmak 1 CA RBo E Tarmak1(E)-CurlAngle-ANSI

2b) The (J)>B>T>F loop, bringing the important T into place

Tarmak 1 CA RBo T Tarmak2(ET)-CurlAngle-ANSI

3) The (J)>R>S>D loop, getting all of the relatively frequent RSD into place

Tarmak 1 CA RBo R Tarmak3(ETR)-CurlAngle-ANSI

4) The J>Y>O>;>P loop, getting O in place and finalizing the big loop

Tarmak 1 CA RBo O Tarmak4(ETRO)-CurlAngle-ANSI

5) The L>U>I self-contained loop - step 5 is simply the full Colemak-DH!

Tarmak 1 CA RBo I Colemak-DH (ANSI)

See the notes above about splitting step 1 and 2. The ANSI CurlAngle(Z) mod is ZXCVB → XCBVZ as shown.