• You are not logged in.

Learning it one hand at a time?!

  • Started by DreymaR
  • 33 Replies:
  • Reputation: 136
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,895
NOTE: This is an old post by now. There is a newer one available.

LEARNING COLEMAK ONE HAND AT A TIME?!


The discussion in that thread of Wibble's (https://forum.colemak.com/viewtopic.php?id=337) about how a layout change breaks our "gestalt" feeling but then it's regained for the changed layout at a speed which depends on the complexity of the changes, had me thinking about the idea someone had a while ago: That you could learn Colemak not all at once but small bits at a time. (Does anybody remember who that was, or where that topic is?) I'm wondering whether it might be a good idea after all, since I and others have been arguing how easy it is to make small changes compared to big ones. Obviously, moving one letter means that you pretty much have to move another and so on, but I've found an intrigueing way to break up the loops.

The L-U-I keys make a mini-loop on the right hand: Moving these from their QWERTY positions to Colemak ones changes nothing else. That might be learnt first, as a warm-up step. I'm leaving open to debate whether 2 bigger steps or one little baby step first to get used to "gestalt remoulding" before getting serious is the better way to go about this; currently I'm leaning towards including L-U-I with the next step.

q w E R T Y l u O P
 a S D F G h J K i ;    The L-U-I mini-loop is the only change shown so far
  z x c v b N m

If you use a "non-US" board with a VK_102 key to the left of Z, you could start off with the BRHS (moving ZXCVB one to the left), and get used to that before moving on. This breaks your keyboard "gestalt feel" a little, but doesn't change any fingering. A good starting exercise.

z x c v b _ N m        optional but nice (semi-)step if you have VK_102

The large change loop goes F-T-G-D-S-R-P-;-O-Y-J-N-K-E and in this loop only P and E move between hands (nice work, Shai!). Note how they're splitting the loop fairly down the middle, and oddly enough all the keys on each side are on one hand? Aha! It struck me that you can change one hand at a time! That could be useful I think? If you can concentrate largely on learning one hand at a time I think it might be an advantage - for some, at least? I'm in no way certain, but the thought certainly fascinates me and I'd like to see it discussed here.

If this is done in two operations, only one key needs to be temporarily displaced. Still, better make sure it's a rare key, and the rarest of them all must be ';' (or whatever lies on that key, such as the Æ, Ø, Ö or other European special letters). Conveniently, it lies right after P which swaps hands and thus naturally marks the "middle" of the loop. The choice is whether to map it onto the 'orphaned' key you've moved first, or tuck it away on its' own AltGr mapping for the time being. For that matter, you could do both and in addition put it on an AltGr mapping of the QWERTY P position where it'll end up eventually as well! Having a board with two E's temporarily might on the other hand (pun initially unintended...) ease the transition a little, something I noticed when learning Colemak with two BackSpace keys.

The right hand goes first since it'll move the important E key and we're already started on that hand. Swapping ;-O-Y-J-N-K-E, note how the right hand is done now except for P, and all the vocals are in place already.

q w ; R T j l u y P
 a S D F G h n e i o    ';' goes to an AltGr mapping, or takes the old E position as shown 
  z x c v b k m

Once the right hand feels sufficiently Colemak trained, do the left hand chain F-T-G-D-S-R-P ... and voila, we're done!

That was 2-3(.5) steps. As mentioned, I'm currently for making it 2 only - one for each hand: First L-U-I and ;-O-Y-J-N-K-E (10 keys) and then the remaining 7 (optionally together with ZXCVB_). The E and P that swap hands get put into one step each, which feels right to me. Some might want to move the P in the first step to complete the right hand, but then either the P has to reside in a temp position or you start digging into the left-hand changes already. I don't like either of those much.

Whether you'd be better off with 3-4 steps or just 2 could be a matter of preference and individual learning characteristics I suppose. In the original "chunk-learning" topic the topic maker wanted more steps while I held back feeling that too many steps would be confusing instead of helpful. I'd like to hear arguments for either position.

Having temp steps means having extra layout files, preferably for all the operating systems and national variants etc. I know Shai doesn't like that idea, and I can't say I blame him for it. So I'm discussing this mainly as an idea for interested users and not as a suggestion for Shai. This is another reason to do 2 steps only: You'd get away with a single intermediary layout which should be quite manageable.

If someone actually want to try it out and don't have the skills to make the temp layout files I could help them if they're using Windows (and probably Linux X11 as well). I already know Colemak so the idea is of no direct use to me anymore, but I'd like to see it discussed out of academic interest.


Happy tapping!
Øystein "DreymaR" Gadmar

Last edited by DreymaR (30-Apr-2014 15:01:31)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 136
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,895

The madness just got a name: Tarmak!  :)

q w ; r t J L U Y p
 a s d f g h N E I O    The Tarmak "right hand" transitional learning layout
  z x c v b K m

- Tar is to coal as Tarmak is to Colemak: Kinda halfway there (not quite, as any chemist worth his carbon will tell you - but I'm mostly fine with that I guess).
- A tarmac is an attempt to pave the way...
- I'm pretty sure someone will find it black, sticky, smelly, unhealthy etc etc  ;)

No opinions yet? Feel free to be negative or positive as you see fit: I'm wondering about this myself.

[edit: Changed the name from 'Tarmac' to 'Tarmak' for reasons stated below. We apologize for any inconvenience. :)]

Last edited by DreymaR (26-May-2014 13:46:33)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Shai
  • Administrator
  • Reputation: 11
  • Registered: 11-Dec-2005
  • Posts: 387

It's an interesting layout, and unlike some of the previous suggestions, it's only one logical step. As far as transitional layouts go, I can't think of any way to improve it.

As for naming, I prefer "Colemak-transitional".

Offline
  • 0
  • Reputation: 136
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,895

Thanks. The real question is of course whether a transition would be an advantage at all or not. Maybe for some. Makes me wish I didn't already know... nah, nothing can make me wish I didn't know the Colemak by now.  :)

I guess a proper name for it should be more ... proper ... than 'Tarmac'. But I've already grown fond of that little jest. I may end up referring to it as the '"Tarmac" (transitional Colemak)' or something like that when I want to be specific.

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 12-Jul-2008
  • Posts: 76
DreymaR said:

The madness just got a name: Tarmac!  :)

Q W ; R T J L U Y P
 A S D F G H N E I O    The Tarmac temporary learning layout
  Z X C V B K M

Dreymar, this is really smart! I want to use it -- I wanna be the first to try and learn Colemak via Tarmac.

A couple of questions on this:

1) Has it been implemented in any way for Windows? Autohotkey, a layout file? Anything?

2) I'm not quite sure what the semicolon key is doing in Cmk's "f" position. Is that a technical constraint, because of the way the keys get shifted around?

Offline
  • 0
  • Reputation: 0
  • Registered: 12-Jul-2008
  • Posts: 76

Alright, I'm back now with some more specific ideas of what I'd like to try, and questions.

The Plan:
1) I'd like to try the LUI first,
2) Then, when I'm comfortable with that, install Tarmac
3) Then, when I'm comfortable with that, install Colemak

Now, due to some technical constraints (namely, using Vista with Hebrew as my secondary layout), I am forced to use Windows keyboard layouts -- AutoHotkey doesn't cut it here (can't switch to Hebrew properly).

Thus, The Questions:

To Dreymar: Would you like to produce the needed registry files using KMapper, or shall I do it? I don't even know if you use Windows, maybe it's of no use for you.

To Shai: If I produce these extra two "stepping-stone" layouts (LUI and Tarmac), would they get any place in the website as possible learning paths? (With credit to DreymaR, of course - I just want to know if I'm doing this just for myself, or if anyone else might try it too)

I personally really like the Tarmac moniker -- I think it's witty and fitting. But if you want to call it some other name for it to be featured with the website, I guess that's up to you and DreymaR to decide.

Last edited by ezuk (13-Jul-2008 17:23:11)
Offline
  • 0
  • Reputation: 136
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,895

Hello there! It'll be interesting to see what experiences you have with this.

I don't think you're entirely correct when you say that "AutoHotkey doesn't cut it here"? If you have a look at the Portable Keyboard Layout, I think it has a Hebrew layout and I haven't heard any complaints on that one. Or you could just suspend the PKL and keep the Hebrew layout you've installed ready for when PKL is suspended. This is one possibility. But to make a PKL layout we should have the Microsoft Keyboard Layout Creator .klc file first at any rate, so you could just compile one of those to an installable layout instead. I'm just saying, I think you could get the AHK method working in case installing isn't easy on some computers you use. (I use the Norwegian layout on PKL for all of my work computers except the main one.)

I don't think the Tarmac has been implemented yet, but this can be remedied. Can you use MSKLC yourself, or do you need help? If I do it, should I start with the standard US QWERTY layout and just move the letters around or would you have some national layout as your base? KMapper isn't the best idea since it moves everything around on a more permanent basis (writing to the registry).

The semicolon is the leftover in the first (second) step. As I didn't want to change more than the minimum of one key on the left hand, the F wasn't moved into place yet. This leaves the semicolon moved from the old spot but not yet able to move into the new one. If you think it's better, I suppose the semicolon could move into place and the P move to the old QWERTY E position instead, but I didn't want to do that since P is a common letter and I didn't want to waste time learning a position for it that would later have to be unlearned. So the P is left in place on the right hand while waiting for the final step, and you use the old position for the P until then. Hope that explains it.

I don't think Shai will host the files, but that's okay; I can upload them in my Colemak stuff folder and if you have a nice experience and it catches on it'll eventually make the main site. Shai's busy and doesn't want to maintain too many files and versions, which is entirely understandable.

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 12-Jul-2008
  • Posts: 76
DreymaR said:

Hello there! It'll be interesting to see what experiences you have with this.

Definitely. :)

Can you use MSKLC yourself, or do you need help? If I do it, should I start with the standard US QWERTY layout and just move the letters around or would you have some national layout as your base?

Yes, I just discovered the MSKLC and created two layouts, called colemak0 and colemak1 (Colemak Tarmac Phase 0 - Only LUI keys changed" and "Colemak Tarmac Phase 1 - QWERTY Hybrid").

I put your real name in the copyright - I hope that's OK with you. The files are at http://www.mediafire.com/?wmidpdmo0dq EDIT: Corrected link -- just a tiny zip file with both .klc files in it, and XML files for TypeFaster. All is very alpha, of course.

I compiled the layouts and they installed fine. Now I need to buckle up and start using Phase 0. :) But I must say the prospect of just three modified keys looks much more palatable to me than 17 modified keys. I'm very optimistic about this.

The semicolon is the leftover in the first (second) step. As I didn't want to change more than the minimum of one key on the left hand, the F wasn't moved into place yet.

I understand and agree with your reasoning. I left your proposed layout exactly as it is. Even Shai said he has no ideas for improvement... So I'm not going to change anything until I've had lots of experience actually typing with it.

I don't think Shai will host the files, but that's okay; I can upload them in my Colemak stuff folder and if you have a nice experience and it catches on it'll eventually make the main site. Shai's busy and doesn't want to maintain too many files and versions, which is entirely understandable.

Of course, of course. Fair enough. I also have a little website (http://ezuk.org) and if this thing proves successful, I could write a couple of pages showing the idea and sharing my experience.

Now there's just one thing left: I need to figure out how to create typing lessons for TypeFaster, for both layouts. Once I nail that down, we're home free. And of course, I will send you my lessons so you could distribute them if you want.

If you have any pointers for creating the lessons, I'd love to hear.

Last edited by ezuk (13-Jul-2008 23:34:55)
Offline
  • 0
  • Reputation: 136
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,895

Great! Best of luck with your endeavours then.

Oh - I noticed one thing: You've put my name in the copyright field of the Tarmac. I don't think there should be a copyright on this. Like Shai's work, the stuff I do for Colemak is released to the public domain. So please just let that field say "public domain" or one of those GNU licence thingys that Shai knows more about than I do.

Besides, you did the work not I. Big deal if I discovered how to remap a few keys at a time; when I get my Nobel Price I don't want it to be for that.  :D

I'm also uncertain about the term "phase 0"; sounds like nothing's happened yet. The LUI switch is either phase 1, or maybe phase 1/2 since it's a small step - although that sounds a bit silly too. But maybe numbering the phases isn't really necessary. If you do like numbering, then 1-2-3 is a nice sequence to people's ears as it means fast and easy. "Learn Colemak in 1-2-3!" sounds nice to me; the '1' would be LUI then and the Colemak itself '3'. Don't you think that makes sense?

Last edited by DreymaR (14-Jul-2008 20:46:52)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 12-Jul-2008
  • Posts: 76

Re Phase 1 vs. Phase 0 -- I guess you've got a point there. I was thinking 0, because in computers we often count from 0. But if we eventually make it into a more formalized learning system and package in a more coherent fashion than a couple of forum posts -- sure, we can renumber to 1 and 2.

Re (C) - OK. I can change it. Although personally, I do feel what you did here is a "big deal". AFAIK, there's no other keyboard layout which offers a graduated learning system. I think this is a completely unique feature, and somewhat of a breakthrough in learning.

Maybe you're less excited about it than I am because you didn't try it ;).

Offline
  • 0
  • Reputation: 0
  • Registered: 20-Oct-2006
  • Posts: 111

Count from zero being applied to things other than computer programming bothers me.

Offline
  • 0
  • Reputation: 0
  • Registered: 12-Jul-2008
  • Posts: 76
Korivak said:

Count from zero being applied to things other than computer programming bothers me.

This is a fairly related field, but as I said -- fine... I'm not gonna make a big deal out of it. Personally I still refer to it as Phase 0 and Phase 1, because that's what it says on my system. But if it ever gets packaged in some way for distribution, I don't mind calling it Phase 1 and Phase 2.

Offline
  • 0
  • Reputation: 0
  • Registered: 08-Mar-2008
  • Posts: 303

Phase 0 is QWERTY. Nothing has been changed.

Offline
  • 0
  • Reputation: 0
  • Registered: 12-Jul-2008
  • Posts: 76
SpeedMorph said:

Phase 0 is QWERTY. Nothing has been changed.

Fine, fine. :) I give up, you guys. You all win! I officially surrender on this point, white flag and all. Tarmac LUI is Tarmac1.

(Except for on my system and on my posts! Muahahaha)

Offline
  • 0
  • Reputation: 0
  • Registered: 12-Jul-2008
  • Posts: 76

Tarmac Phase 2 KLC file, v0.2

Changes:
1) Corrected VK codes so Ctrl+<key> and Win+<key> now works well.
2) Changed name to Phase 2 (no longer phase 1)
3) Changed (C) info to Public Domain

KBD    Tarmac2    "Colemak Tarmac 2 - QWERTY Hybrid"

COPYRIGHT    "Public Domain"

COMPANY    "DreymaR (Øystein Bech Gadmar)"

LOCALENAME    "en-US"

LOCALEID    "00000409"

VERSION    1.0

SHIFTSTATE

0    //Column 4
1    //Column 5 : Shft
2    //Column 6 :       Ctrl
6    //Column 7 :       Ctrl Alt
7    //Column 8 : Shft  Ctrl Alt

LAYOUT        ;an extra '@' at the end is a dead key

//SC    VK_        Cap    0    1    2    6    7
//--    ----        ----    ----    ----    ----    ----    ----

02    1        0    1    0021    -1    00a1    00b9        // DIGIT ONE, EXCLAMATION MARK, <none>, INVERTED EXCLAMATION MARK, SUPERSCRIPT ONE
03    2        0    2    0040    -1    00b2    -1        // DIGIT TWO, COMMERCIAL AT, <none>, SUPERSCRIPT TWO, <none>
04    3        0    3    0023    -1    00b3    -1        // DIGIT THREE, NUMBER SIGN, <none>, SUPERSCRIPT THREE, <none>
05    4        0    4    0024    -1    00a4    00a3        // DIGIT FOUR, DOLLAR SIGN, <none>, CURRENCY SIGN, POUND SIGN
06    5        0    5    0025    -1    20ac    -1        // DIGIT FIVE, PERCENT SIGN, <none>, EURO SIGN, <none>
07    6        0    6    005e    -1    00bc    -1        // DIGIT SIX, CIRCUMFLEX ACCENT, <none>, VULGAR FRACTION ONE QUARTER, <none>
08    7        0    7    0026    -1    00bd    -1        // DIGIT SEVEN, AMPERSAND, <none>, VULGAR FRACTION ONE HALF, <none>
09    8        0    8    002a    -1    00be    -1        // DIGIT EIGHT, ASTERISK, <none>, VULGAR FRACTION THREE QUARTERS, <none>
0a    9        0    9    0028    -1    2018    -1        // DIGIT NINE, LEFT PARENTHESIS, <none>, LEFT SINGLE QUOTATION MARK, <none>
0b    0        0    0    0029    -1    2019    -1        // DIGIT ZERO, RIGHT PARENTHESIS, <none>, RIGHT SINGLE QUOTATION MARK, <none>
0c    OEM_MINUS    0    002d    005f    -1    00a5    -1        // HYPHEN-MINUS, LOW LINE, <none>, YEN SIGN, <none>
0d    OEM_PLUS    0    003d    002b    -1    00d7    00f7        // EQUALS SIGN, PLUS SIGN, <none>, MULTIPLICATION SIGN, DIVISION SIGN
10    Q        5    q    Q    -1    00e4    00c4        // LATIN SMALL LETTER Q, LATIN CAPITAL LETTER Q, <none>, LATIN SMALL LETTER A WITH DIAERESIS, LATIN CAPITAL LETTER A WITH DIAERESIS
11    W        5    w    W    -1    00e5    00c5        // LATIN SMALL LETTER W, LATIN CAPITAL LETTER W, <none>, LATIN SMALL LETTER A WITH RING ABOVE, LATIN CAPITAL LETTER A WITH RING ABOVE
12    OEM_1        4    003b    003a    -1    00e9    00c9        // SEMICOLON, COLON, <none>, LATIN SMALL LETTER E WITH ACUTE, LATIN CAPITAL LETTER E WITH ACUTE
13    R        1    r    R    -1    00ae    -1        // LATIN SMALL LETTER R, LATIN CAPITAL LETTER R, <none>, REGISTERED SIGN, <none>
14    T        5    t    T    -1    00fe    00de        // LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, <none>, LATIN SMALL LETTER THORN (Icelandic), LATIN CAPITAL LETTER THORN (Icelandic)
15    J        5    j    J    -1    00fc    00dc        // LATIN SMALL LETTER J, LATIN CAPITAL LETTER J, <none>, LATIN SMALL LETTER U WITH DIAERESIS, LATIN CAPITAL LETTER U WITH DIAERESIS
16    L        5    l    L    -1    00fa    00da        // LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, <none>, LATIN SMALL LETTER U WITH ACUTE, LATIN CAPITAL LETTER U WITH ACUTE
17    U        5    u    U    -1    00ed    00cd        // LATIN SMALL LETTER U, LATIN CAPITAL LETTER U, <none>, LATIN SMALL LETTER I WITH ACUTE, LATIN CAPITAL LETTER I WITH ACUTE
18    Y        5    y    Y    -1    00f3    00d3        // LATIN SMALL LETTER Y, LATIN CAPITAL LETTER Y, <none>, LATIN SMALL LETTER O WITH ACUTE, LATIN CAPITAL LETTER O WITH ACUTE
19    P        5    p    P    -1    00f6    00d6        // LATIN SMALL LETTER P, LATIN CAPITAL LETTER P, <none>, LATIN SMALL LETTER O WITH DIAERESIS, LATIN CAPITAL LETTER O WITH DIAERESIS
1a    OEM_4        0    005b    007b    001b    00ab    -1        // LEFT SQUARE BRACKET, LEFT CURLY BRACKET, ESCAPE, LEFT-POINTING DOUBLE ANGLE QUOTATION MARK *, <none>
1b    OEM_6        0    005d    007d    001d    00bb    -1        // RIGHT SQUARE BRACKET, RIGHT CURLY BRACKET, INFORMATION SEPARATOR THREE, RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK *, <none>
1e    A        5    a    A    -1    00e1    00c1        // LATIN SMALL LETTER A, LATIN CAPITAL LETTER A, <none>, LATIN SMALL LETTER A WITH ACUTE, LATIN CAPITAL LETTER A WITH ACUTE
1f    S        1    s    S    -1    00df    00a7        // LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, <none>, LATIN SMALL LETTER SHARP S (German), SECTION SIGN
20    D        5    d    D    -1    00f0    00d0        // LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, <none>, LATIN SMALL LETTER ETH (Icelandic), LATIN CAPITAL LETTER ETH (Icelandic)
21    F        1    f    F    -1    -1    -1        // LATIN SMALL LETTER F, LATIN CAPITAL LETTER F, <none>, <none>, <none>
22    G        1    g    G    -1    -1    -1        // LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, <none>, <none>, <none>
23    H        1    h    H    -1    -1    -1        // LATIN SMALL LETTER H, LATIN CAPITAL LETTER H, <none>, <none>, <none>
24    N        1    n    N    -1    -1    -1        // LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, <none>, <none>, <none>
25    E        1    e    E    -1    -1    -1        // LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, <none>, <none>, <none>
26    I        5    i    I    -1    00f8    00d8        // LATIN SMALL LETTER I, LATIN CAPITAL LETTER I, <none>, LATIN SMALL LETTER O WITH STROKE, LATIN CAPITAL LETTER O WITH STROKE
27    O        1    o    O    -1    00b6    00b0        // LATIN SMALL LETTER O, LATIN CAPITAL LETTER O, <none>, PILCROW SIGN, DEGREE SIGN
28    OEM_7        0    0027    0022    -1    00b4    00a8        // APOSTROPHE, QUOTATION MARK, <none>, ACUTE ACCENT, DIAERESIS
29    OEM_3        0    0060    007e    -1    -1    -1        // GRAVE ACCENT, TILDE, <none>, <none>, <none>
2b    OEM_5        0    005c    007c    001c    00ac    00a6        // REVERSE SOLIDUS, VERTICAL LINE, INFORMATION SEPARATOR FOUR, NOT SIGN, BROKEN BAR
2c    Z        5    z    Z    -1    00e6    00c6        // LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, <none>, LATIN SMALL LETTER AE (ash) *, LATIN CAPITAL LETTER AE (ash) *
2d    X        1    x    X    -1    -1    -1        // LATIN SMALL LETTER X, LATIN CAPITAL LETTER X, <none>, <none>, <none>
2e    C        1    c    C    -1    00a9    00a2        // LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, <none>, COPYRIGHT SIGN, CENT SIGN
2f    V        1    v    V    -1    -1    -1        // LATIN SMALL LETTER V, LATIN CAPITAL LETTER V, <none>, <none>, <none>
30    B        1    b    B    -1    -1    -1        // LATIN SMALL LETTER B, LATIN CAPITAL LETTER B, <none>, <none>, <none>
31    K        5    k    K    -1    00f1    00d1        // LATIN SMALL LETTER E, LATIN CAPITAL LETTER E, <none>, LATIN SMALL LETTER N WITH TILDE, LATIN CAPITAL LETTER N WITH TILDE
32    M        1    m    M    -1    00b5    -1        // LATIN SMALL LETTER M, LATIN CAPITAL LETTER M, <none>, MICRO SIGN, <none>
33    OEM_COMMA    4    002c    003c    -1    00e7    00c7        // COMMA, LESS-THAN SIGN, <none>, LATIN SMALL LETTER C WITH CEDILLA, LATIN CAPITAL LETTER C WITH CEDILLA
34    OEM_PERIOD    0    002e    003e    -1    -1    -1        // FULL STOP, GREATER-THAN SIGN, <none>, <none>, <none>
35    OEM_2        0    002f    003f    -1    00bf    -1        // SOLIDUS, QUESTION MARK, <none>, INVERTED QUESTION MARK, <none>
39    SPACE        0    0020    0020    0020    -1    -1        // SPACE, SPACE, SPACE, <none>, <none>
56    OEM_102    0    005c    007c    001c    -1    -1        // REVERSE SOLIDUS, VERTICAL LINE, INFORMATION SEPARATOR FOUR, <none>, <none>
53    DECIMAL    0    002e    002e    -1    -1    -1        // FULL STOP, FULL STOP, , , 


KEYNAME

01    Esc
0e    Backspace
0f    Tab
1c    Enter
1d    Ctrl
2a    Shift
36    "Right Shift"
37    "Num *"
38    Alt
39    Space
3a    "Caps Lock"
3b    F1
3c    F2
3d    F3
3e    F4
3f    F5
40    F6
41    F7
42    F8
43    F9
44    F10
45    Pause
46    "Scroll Lock"
47    "Num 7"
48    "Num 8"
49    "Num 9"
4a    "Num -"
4b    "Num 4"
4c    "Num 5"
4d    "Num 6"
4e    "Num +"
4f    "Num 1"
50    "Num 2"
51    "Num 3"
52    "Num 0"
53    "Num Del"
54    "Sys Req"
57    F11
58    F12
7c    F13
7d    F14
7e    F15
7f    F16
80    F17
81    F18
82    F19
83    F20
84    F21
85    F22
86    F23
87    F24

KEYNAME_EXT

1c    "Num Enter"
1d    "Right Ctrl"
35    "Num /"
37    "Prnt Scrn"
38    "Right Alt"
45    "Num Lock"
46    Break
47    Home
48    Up
49    "Page Up"
4b    Left
4d    Right
4f    End
50    Down
51    "Page Down"
52    Insert
53    Delete
54    <00>
56    Help
5b    "Left Windows"
5c    "Right Windows"
5d    Application

DESCRIPTIONS

0409    Colemak Tarmac Phase 2 - QWERTY Hybrid

LANGUAGENAMES

0409    English (United States)

ENDKBD
Offline
  • 0
  • Reputation: 0
  • Registered: 12-Jul-2008
  • Posts: 76

Below is a TypeFaster "Tarmac Phase 2" layout file which now actually works.

<?xml version="1.0"?>
<layout version="1.0" horizgap="0.1" vertgap="0.1" ltr="true">
    <row scale="1.0">
        <key shape="square" type="normal" homekey="false" size="1" homeindex="29">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand small finger two rows up to the far left">~</value>
            <value when="normal" draw="true" newline="true" say="left hand small finger two rows up to the far left">`</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="29">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand small finger two rows up to the left">!</value>
            <value when="normal" draw="true" newline="true" say="left hand small finger two rows up to the left">1</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="30">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand ring finger two rows up to the left">@</value>
            <value when="normal" draw="true" newline="true" say="left hand ring finger two rows up to the left">2</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="31">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand middle finger two rows up to the left">#</value>
            <value when="normal" draw="true" newline="true" say="left hand middle finger two rows up to the left">3</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="32">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand middle finger two rows up slightly to the right">$</value>
            <value when="normal" draw="true" newline="true" say="left hand middle finger two rows up slightly to the right">4</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="32">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand index finger two rows up slightly to the right">%</value>
            <value when="normal" draw="true" newline="true" say="left hand index finger two rows up slightly to the right">5</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="35">
            <value when="leftshift" draw="true" newline="false" say="right shift hold, then left hand index finger two rows up to the right">^</value>
            <value when="normal" draw="true" newline="true" say="left hand index finger two rows up to the right">6</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="35">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand index finger two rows up slightly to the left"><![CDATA[&]]></value>
            <value when="normal" draw="true" newline="true" say="right hand index finger two rows up slightly to the left">7</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="36">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand index finger two rows up slightly to the right">*</value>
            <value when="normal" draw="true" newline="true" say="right hand index finger two rows up slightly to the right">8</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="37">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand middle finger two rows up slightly to the right">(</value>
            <value when="normal" draw="true" newline="true" say="right hand middle finger two rows up slightly to the right">9</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="37">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand ring finger two rows up slightly to the right">)</value>
            <value when="normal" draw="true" newline="true" say="right hand ring finger two rows up slightly to the right">0</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="37">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand ring finger two rows up to the right">_</value>
            <value when="normal" draw="true" newline="true" say="right hand ring finger two rows up to the right">-</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="38">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand small finger two rows up to the right">+</value>
            <value when="normal" draw="true" newline="true" say="right hand small finger two rows up to the right">=</value>
        </key>
        <key shape="rect" type="backspace" homekey="false" size="2.3;1">
        </key>        
    </row>
    <row scale="1.0">
        <key shape="rect" type="tab" homekey="false" size="1.65;1">
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="29">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand small finger one row up slightly to the left">Q</value>
            <value when="normal" draw="false" newline="false" say="left hand small finger one row up slightly to the left">q</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="30">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand ring finger one row up slightly to the left">W</value>
            <value when="normal" draw="false" newline="false" say="left hand ring finger one row up slightly to the left">w</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="31">
            <value when="rightshift" draw="true" newline="false" say="left shift hold, then right hand small finger one row up slightly to the left">:</value>
            <value when="normal" draw="true" newline="true" say="right hand small finger one row up slightly to the left">;</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="32">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand index finger one row up slightly to the left">R</value>
            <value when="normal" draw="false" newline="false" say="left hand index finger one row up slightly to the left">r</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="32">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand index finger one row up slightly to the right">T</value>
            <value when="normal" draw="false" newline="false" say="left hand index finger one row up slightly to the right">t</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="35">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand index finger one row up far left">J</value>
            <value when="normal" draw="false" newline="false" say="right hand index finger one row up far left">j</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="35">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand index finger one row up slightly to the left">L</value>
            <value when="normal" draw="false" newline="false" say="right hand index finger one row up slightly to the left">l</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="36">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand middle finger one row up slightly to the left">U</value>
            <value when="normal" draw="false" newline="false" say="right hand middle finger one row up slightly to the left">u</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="37">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand ring finger one row up slightly to the left">Y</value>
            <value when="normal" draw="false" newline="false" say="right hand ring finger one row up slightly to the left">y</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="38">
            <value when="leftshift" draw="true" newline="false">P</value>
            <value when="normal" draw="false" newline="false">p</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="38">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand small finger one row up slightly to the right">{</value>
            <value when="normal" draw="true" newline="true" say="right hand small finger one row up slightly to the right">[</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="38">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand small finger one row up far right">}</value>
            <value when="normal" draw="true" newline="true" say="right hand small finger one row up far right">]</value>
        </key>
        <key shape="rect" type="normal" homekey="false" size="1.65;1" homeindex="38">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand small finger one row up really far right">|</value>
            <value when="normal" draw="true" newline="true" say="right hand small finger one row up really far right">\</value>
        </key>
    </row>
    <row scale="1.0">
        <key shape="rect" type="backspace" homekey="false" size="2.1;1">
        </key>
        <key shape="square" type="normal" homekey="true" size="1">     <!--29-->
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand small finger">A</value>
            <value when="normal" draw="false" newline="false" say="left hand small finger">a</value>
        </key>
        <key shape="square" type="normal" homekey="true" size="1">     <!--30-->
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand ring finger">S</value>
            <value when="normal" draw="false" newline="false" say="left hand ring finger">s</value>
        </key>
        <key shape="square" type="normal" homekey="true" size="1">     <!--31-->
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand middle finger">D</value>
            <value when="normal" draw="false" newline="false" say="left hand middle finger">d</value>
        </key>
        <key shape="square" type="normal" homekey="true" size="1">     <!--32-->
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand index finger">F</value>
            <value when="normal" draw="false" newline="false" say="left hand index finger">f</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="32">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand index finger to the right">G</value>
            <value when="normal" draw="false" newline="false" say="left hand index finger to the right">g</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="35">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand index finger to the left">H</value>
            <value when="normal" draw="false" newline="false" say="right hand index finger to the left">h</value>
        </key>
        <key shape="square" type="normal" homekey="true" size="1">     <!--35-->
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand index finger">N</value>
            <value when="normal" draw="false" newline="false" say="right hand index finger">n</value>
        </key>
        <key shape="square" type="normal" homekey="true" size="1">     <!--36-->
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand middle finger">E</value>
            <value when="normal" draw="false" newline="false" say="right hand middle finger">e</value>
        </key>
        <key shape="square" type="normal" homekey="true" size="1">     <!--37-->
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand ring finger">I</value>
            <value when="normal" draw="false" newline="false" say="right hand ring finger">i</value>
        </key>
        <key shape="square" type="normal" homekey="true" size="1">     <!--38-->
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand small finger">O</value>
            <value when="normal" draw="false" newline="false" say="right hand small finger">o</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="38">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand small finger to the right">"</value>
            <value when="normal" draw="true" newline="true" say="right hand small finger to the right">'</value>
        </key>
        <key shape="rect" type="enter" homekey="false" size="2.3;1">
        </key>
    </row>
    <row scale="1.0">
        <key shape="rect" type="leftshift" homekey="false" size="2.8;1">
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="29">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand small finger one row down slightly to the right">Z</value>
            <value when="normal" draw="false" newline="false" say="left hand small finger one row down slightly to the right">z</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="30">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand ring finger one row down slightly to the right">X</value>
            <value when="normal" draw="false" newline="false" say="left hand ring finger one row down slightly to the right">x</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="31">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand middle finger one row down slightly to the right">C</value>
            <value when="normal" draw="false" newline="false" say="left hand middle finger one row down slightly to the right">c</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="32">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand index finger one row down slightly to the right">V</value>
            <value when="normal" draw="false" newline="false" say="left hand index finger one row down slightly to the right">v</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="32">
            <value when="rightshift" draw="true" newline="false" say="right shift hold, then left hand index finger one row down far right">B</value>
            <value when="normal" draw="false" newline="false" say="left hand index finger one row down far right">b</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="35">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand index finger one row down slightly to the left">K</value>
            <value when="normal" draw="false" newline="false" say="right hand index finger one row down slightly to the left">k</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="35">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand index finger one row down slightly to the right">M</value>
            <value when="normal" draw="false" newline="true" say="right hand index finger one row down slightly to the right">m</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="36">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand middle finger one row down slightly to the right"><![CDATA[<]]></value>
            <value when="normal" draw="true" newline="true" say="right hand middle finger one row down slightly to the right">,</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="37">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand ring finger one row down slightly to the right"><![CDATA[>]]></value>
            <value when="normal" draw="true" newline="true" say="right hand ring finger one row down slightly to the right">.</value>
        </key>
        <key shape="square" type="normal" homekey="false" size="1" homeindex="38">
            <value when="leftshift" draw="true" newline="false" say="left shift hold, then right hand small finger one row down slightly to the right">?</value>
            <value when="normal" draw="true" newline="true" say="right hand small finger one row down slightly to the right">/</value>
        </key>
        <key shape="rect" type="rightshift" homekey="false" size="2.7;1">
        </key>
    </row>
    <row scale="1.0">
        <key shape="rect" type="control" homekey="false" size="1.425;1">
        </key>
        <key shape="rect" type="alt" homekey="false" size="1.425;1">
        </key>
        <key shape="rect" type="normal" homekey="false" size="10.5;1">
            <value when="normal" draw="false" newline="false" say="right thumb"> </value>
        </key>
        <key shape="rect" type="altgr" homekey="false" size="1.425;1">
        </key>
        <key shape="rect" type="control" homekey="false" size="1.425;1">
        </key>
    </row>
</layout>
Offline
  • 0
  • Reputation: 0
  • Registered: 12-Jul-2008
  • Posts: 76

Training Lessons for Phase 2.

Only right-hand keys are used (except for P, which is going to move). When I manage to do these very well, I will move on, I think.

######################################################################
##
# KTouch training file generated Mon Jul 21 10:46:50 2008
#
# Perl Script written by Steinar Theigmann & Håvard Frøiland.
#
# Level 1
neio
ii eie ennin eoei inn oe neon e iii o noon o ii one none eie
e oi o n inn o oi eoei none en e ennin en oe oe iii e ion nine
nee oe one eie o none eon oe eoei nee on noon ein oi e e nine
iii nee eoei en on oi eie inn eoei nee oi ion none oe inn ennin
ein onion ennin no inn non iii o inn i nine oi neon e e ii e
oe ii noon o none nee no none eoei iii in on in none eoei i ii
oe en iii one onion iii nee inn eie nee eoei e iii neon one one


# Level 2
hl
hellion oil hell lion hell lien oh oho ooh ill loin loin lone hello
ile loon oh loo hell hon eel ll lien oleo oll eel ll eh loll
hen lilo loon lilo lei leonine line ole lii lo oho hoe hell ho
h oll lilo ho loll noel he eel ehi leonine oh hole lii eel lee
lee oho nil loon hie lie hellhole ooh loin lien eline oll hoe
hino ooh hino el ll heel hellion leonine h h oh oh l eh hi hone
hone lie hellhole he hino nil lei eel lino hell hen loon oleo hino


# Level 3
uy
lily yule ye null uin lonely oily y yin nonunion eunion eye holey
un noun yin lulu yin yen hull lolly hilly holy unholy honey lune
uni eunion hullo lye hullo yon hey yin uin you nylon honey nonunion
yo loony yen y une lull oily eye hilly yon ue only nylon ye
lily eye ule yule y eunion hull ennui u eunion hull honey honey
ule y ye ely nonunion yon unnel hey hey ule huh yule lonely uh
ule yule unholy hooey uh lulu hue yell honey un unny uni yen hooey


# Level 4
km
mime knell minke m im minke unyoke ummy yummy knoll ml milky elink
minim minke liken moo minim kinky moon elk elk minimum lemony moll
kinky knee knee ukulele kl milky keyhole mullion mien oilmen oom
lemon oik kook mum emu liken kill home ml mull kyle eek muumuu leek
moo heumy eke mun unyoke mule ohm kohl ohm ink mike unlike hulk
mole yolk moil milieu likely moil kine moue moon ookie ohm hm liken
yoke monk my mull ukulele homelike loom molehill honky oink kilo


# Level 5
j
jokily johnny jokily jinn killjoy killjoy jelly jinn jimmy jejunum
joule julienne j killjoy killjoy jejune enjoy jink joule jokey jollily
joule jenny jejune jejunum junk junkie jokey enjoy enjoin jellylike
enjoy join jellylike joy jokily jellylike enjoy joke jink joey enjoy
johnny enjoy jejunum jolly jink jejune jollily jokey join jokey jelly
jink jinn jinn jimmy killjoy jinn jenny jenny jemmy jimmy junkie
enjoin jinn jejunum johnny join joy jokily jolly johnny join jello
Last edited by ezuk (21-Jul-2008 08:52:51)
Offline
  • 0
  • Reputation: 136
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,895

In hindsight, I don't know why I called it 'Tarmac'. It should've been 'Tarmak' I feel. Also, the name 'Tarmac' is taken by other good software projects already.

Full name: 'The Tarmak (Colemak transitional) layout', Phase 1 (LUI only) and Phase 2 (right hand only, apart from 'P').

News: Maybe the Tarmak will make it into a hardware impementation! Interesting developments at Mnemonic's 'DIY cheap USB controller' project (Geekhack).

Last edited by DreymaR (11-Jan-2010 12:42:31)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 22-Jul-2010
  • Posts: 3

Gradual learning by gradual immersion could get many people into alternate keyboard layouts.

Right now I'm typing with a phased in method of learning.  I had to create a custom layot though.

The concept is simple in the layout:

1. The changes are only to same finger.
Example:
; (semicolon) becomes P

2. Multiple keyboard layouts phase in change gradually.

3. Keep same bottom row.

Here are the layouts I have so far.

Easyak (Complete)

Q W D R F Y J K L ;
A S E T G H U I O P
(SAME BOTTOM ROW)

Easyak Phase 1 (I recommend more gradual phases - I'm struggling!. I will probably make 3 phases.)

Q W D R F Y J I O P
A S E T G H U K L
(SAME BOTTOM ROW AS QWERTY)

I have done some tests, and the results were better than expected. QWERTY is so awful.
It's not as good as Colemak, but easier to learn (I hope).
Possibly much easier.

I may work on more phases. Let me know it you are interested.

Offline
  • 0
  • Reputation: 136
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,895
NOTE: This is an old post by now. There is a newer one available.
TARMAK (TRANSITIONAL COLEMAK) LEARNING LAYOUTS – THE IMPROVED 5-STEP E-T-O-I-R/S MODEL

It seems that learning Colemak in bite-size steps fits some people very well. How nice!

Proposals for an even more gradual model (or not, because any steps may be omitted at will!) have been made, at first in this new forum topic. In addition to one hand at a time, it's possible to do the "most effective" key movements 3-4 keys at a time, each step bringing an important key or two to the Colemak home position while moving less central keys out of the way to their proper positions:

   This image illustrates the five proposed steps:
   Tarmak_Spectral_ETOIR.png
   Fig.: The 5-step Tarmak(ETOIR) transitional Colemak layouts, spectrally color-coded from red (Tarmak#1) to violet (Colemak).
   Not shown in this figure is how the J and ; keys are forced into temporary positions (QWERTY E and G).


DreymaR(edited) said:

This, then, is a Tarmak(ETOIR/S) Transitional Colemak Layout in sorted "lumps" for learning Colemak in 2-5 steps as desired:

1) The E>K>N>J "most essential" loop, fixing the important E (and N) and just messing up the infrequently used J

 q  w {J} r  t  y  u  i  o  p 
   a  s  d  f  g  h {N}{E} l  ;     The "Tarmak1(E)" transitional layout (E>K>N>J)
     z  x  c  v  b {K} m 

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

 q  w {F} r {G} y  u  i  o  p 
   a  s  d {T}{J} h  N  E  l  ;     The "Tarmak2(ET)" transitional layout (G>T>F>E>K>N>J)
     z  x  c  v  b  K  m 

3) The (J)>Y>O>; loop, getting the O in place at the small cost of the semicolon

 q  w  F  r  G {J} u  i {Y} p 
   a  s  d  T {;} h  N  E  l {O}    The "Tarmak3(ETO)" transitional layout (G>T>F>E>K>N>J>Y>O>;)
     z  x  c  v  b  K  m 

4) The L>U>I self-contained loop for a better I placement

 q  w  F  r  G  J {L}{U} Y  p 
   a  s  d  T  ;  h  N  E {I} O     The "Tarmak4(ETOI)" transitional layout (G>T>F>E>K>N>J>Y>O>; & L>U>I)
     z  x  c  v  b  K  m 

5) The (;)>P>R>S>D loop, or rather - finally the Colemak layout!

 q  w  F {P} G  J  L  U  Y {;}
   a {R}{S} T {D} h  N  E  I  O     The Colemak layout (P>R>S>D>G>T>F>E>K>N>J>Y>O>; & L>U>I)
     z  x  c  v  b  K  m 

For implementing this incrementally, a sequence of loops has to be decided and the above looks most promising to me (and the Codesharp analysis). With the four layouts above available, anyone preferring smaller "tar lumps" can go one step at a time while more ambitious learners may use for instance #2 and then #4 or just #3 before moving to Colemak.

UPDATE: The steps have been rearranged from the original post because the G>T>F loop is so beneficial.
(Thanks to cevgar for the Codesharp analyses!)

Here's a graphic showing the number of keys that each layout step changes, with the Workman and Dvorak layouts included for comparison since they change 21 and 33 of the 35 "letter block" keys. The line in the graph represents how much Codesharp "overall effort" percentage you gain by moving more keys, divided by the number of extra keys moved from the previous layout (4-3-3-3-4-4-12 keys):

Tarmak_KeyChangesVsModelGain.png

The "effort" parameter increases the most for the first Tarmak steps. After the last Tarmak step, the final 4-key change to Colemak doesn't produce much modeled benefit compared to the previous changes. Since the mini-loops of Tarmak have been sorted using this model that may be expected; also, I personally believe that the Colemak has benefits that the model are blind to but that are nevertheless important! The full Colemak has a lot less same-finger and other benefits compared to the last Tarmak step. The Workman layout moves 4 more keys but doesn't do significantly better in the model for that trouble unless it too has further benefits that are transparent to the Codesharp model (21.8% vs 21.3% for Colemak), whereas the Dvorak UI plummets because it changes nearly twice as many keys as Colemak without doing better in the analysis at all. In the name of good sportsmanship, I show the Dvorak UI which scored better (21.4%) than the garden-variety Dvorak (18.9%, comparable to Tarmak3).

UPDATE 2014-04-08: Alternative steps 3 and 4 moving only the J

User karl made an excellent topic presenting his variant of the transitional layout scheme. As seen there, he was loath to move the semicolon to the middle of the board because he's typing code. Also, he wanted the LUI loop last so that the misplaced keys would be resolved as soon as possible to keep confusion to a minimum. Decent points, but I think it comes at the cost of a little less efficiency per moved key for each step but the last one. As he points out though, that may not be so important to a learner as you won't be all that efficient while struggling with placements anyway. It could matter more if you're stranded on one step for a while.

So here's what karl's "ETROI" transitional steps 3 and 4 look like (steps 1 & 2 being as before):

karl (in effect) said:

3) The (J)>R>S>D loop, getting RSD into place without disturbing the semicolon

 q  w  F {J} G  y  u  i  o  p 
   a {R}{S} T {D} h  N  E  l  ;     The "Tarmak3(ETR)" transitional layout (R>S>D>G>T>F>E>K>N>J)
     z  x  c  v  b  K  m 

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

 q  w  F {P} G {J} u  i {Y}{;}
   a  R  S  T  D  h  N  E  l {O}    The "Tarmak4(ETRO)" transitional layout (Y>O>;>P>R>S>D>G>T>F>E>K>N>J)
     z  x  c  v  b  K  m 

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

 q  w  F  P  G  J {L}{U} Y  ; 
   a  R  S  T  D  h  N  E {I} O     The Colemak layout (Y>O>;>P>R>S>D>G>T>F>E>K>N>J & L>U>I)
     z  x  c  v  b  K  m 

   Tarmak_Spectral_ETROI.png
   Fig.: The 5-step Tarmak(ETROI) transitional Colemak layouts, spectrally color-coded from red (Tarmak#1) to violet (Colemak).
   Not shown in this figure is how the J key is forced into temporary positions (QWERTY E, G and R).


This looks like a decent enough alternative to my standard Tarmak(ETOIR) steps. Moving R and S into place earlier and in a separate step may be beneficial as these two letters cause Colemak learners much trouble since they "castle" past each other from their QWERTY positions. In karl's step 3 you get to learn their positions without having to focus on so much else at the same time. Also, only the J has to move to wrong positions which may feel more consistent to the learner.

The final step to Colemak will then just be the LUI loop which should be simple enough to do by then. Interestingly, in some implementations (Linux XKB at least) it should be possible to separate out the LUI loop as a module so the user could choose relatively freely when to do it! I'll look into that.

I won't be changing the default Tarmak nor making new files until this has been given a little more thought. But if anyone wish to try this variant please let us know, and if you need any help with it do feel free to ask.


DOWNLOAD:

• For PKL under Windows, you can download some virtualkey files for the 4 Tarmak steps plus step 0 (QWERTY) and 5 (Colemak). Install them in the PKL layouts folder and point to the ones you want in the pkl.ini file. Also see the Big Bag Of Tricks (for PKL) topic.
• For Linux/XKB, see my Big Bag Of Tricks topic. After installing, search for 'English Colemak' in the layout chooser.
• As seen below, user BradWright made all the Tarmak steps available for KeyRemap4MacBook. Thanks, Brad!

Last edited by DreymaR (22-May-2014 15:38:05)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 136
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,895

Heh, check out this Tarmak blog post by our brave test pilot Ezuk! Cool.

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 136
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,895

[New user Lilleyt just posted a post about his new layout into several topics including this one:]

One thing the Minimak layout does have to do with this topic is that it does indeed let you learn it one hand at a time! Its site claims that no other layout has that benefit; whether the above means that Colemak has it too or not is largely a technicality I feel. You can learn Minimak one hand at a time without displacing any keys which is nice. On the other hand, that layout doesn't seem to help anything else than home row usage which may be too meager benefits for most.

Last edited by DreymaR (16-Aug-2012 13:21:38)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 1
  • From: Tampa, FL, USA
  • Registered: 24-Aug-2012
  • Posts: 24

I wanted to say that I took a poke at seeing if any better ordering can be done with the Tarmak ordering, and I don't think anything better is possible.

Working the big loop by sticking j as the odd man out all the time is efficient as well as forgiving on the learner.  Keeping the odd man out only to one key minimizes the inefficiency of relearning the same letter in multiple steps.

Sticking with 4 or 5 (at the most) letters per step is the sweet spot my brain is capable of dealing with.  Well, 4 really, I slow down quite a bit at 5 so that seems to be where my brain throws up its figurative hands.  But 5 can be dealt with if necessary, and it's only necessary here once so that's good.

My only wish would be that it were possible at each step to get the next two highest-frequency letters.  That way the given layout would always be the most optimal for that number of keyswaps.  That would mean doing E and T in the first (which is possible with the TFEK part of the loop).  However, that becomes a mess when you try to get O and I in the next step.  It just puts too many keys in the odd man out position, and you want to do the l-u-i loop all at once for efficiency, so you don't get to fit much else in there as well.

So good job on this.  I heartily endorse the concept and implementation of Tarmak...I'd think you could help a lot of people with the learning process, and I believe in the piecemeal approach as being faster than trying to do everything at once.

Minimak - Better typing without losing QWERTY
http://www.minimak.org/

Offline
  • 0
  • Reputation: 136
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,895

Thanks, lilleyt, for valuable thoughts!

I didn't see a smooth way of getting two high-frequency letters in place without moving too many keys at a time or creating a bit of a mess as you say. At first I didn't actually realize the importance of getting T in place you know, but the loops are sorted by (probable) efficiency and marked by the most important letter change now.

If I were to use Tarmak layouts myself, I'd likely start at step #2 to get a few nice swaps going on each hand as well as not moving the J key several times. Then if that went smoothly I'd jump to Tarmak #4 getting O and I in place before taking the final plunge. This 3-step approach has you changing up to 7 keys at a time which is a bit steep but otherwise fulfills our wish of gaining two important letters each step. On the up side it might be easier to learn 3-4 keys on each hand?

I hope someone will find this and benefit from it! ;)

Last edited by DreymaR (22-Oct-2012 07:27:59)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 1
  • From: Tampa, FL, USA
  • Registered: 24-Aug-2012
  • Posts: 24

I think that as long as you're tackling less than the full Colemak layout at a time that you're definitely going to make it easier on yourself with Tarmak, so tackling 7 at a time is not what I would consider a bad idea.

Having played with this kind of exercise of looking at how to break it up, I know how hard it is to come up with a good solution, so congrats on the hard work (and Shai for the layout in the first place).

Minimak - Better typing without losing QWERTY
http://www.minimak.org/

Offline
  • 0