If you could only make one change to the QWERTY layout (for instance, swapping K and O), what would it be and why?
If you could only make one change to the QWERTY layout (for instance, swapping K and O), what would it be and why?
For switching, swapping K and E would be most efficient. It reduced 13.4% finger travel. You can see the whole research here
http://mkweb.bcgsc.ca/carpalx/?partial_optimization
The most efficient swaps are: K/E, J/O, F/T, A/D, G/N, L/I, M/K, B/J, U/L and Y/M.
My fastest typing records http://hi-games.net/profile/4314
My switching experience https://forum.colemak.com/viewtopic.php?id=970
I would use an ergonomic mod that let me keep the left wrist straight (mine is the one I call the WideAngle mod). For any layout, not just QWERTY.
Single swaps may not be worth a whole lot. Sure, you may reduce finger travel or some other parameter but that certainly isn't all. That being said, carpalx has a pretty nice-looking model for effort that uses trigraphs and several parameters; it's still only as good as the (subjective) weightings though. Determining the effort for different parameters (or trigraphs) is bound to be difficult since you can't give them proper testing before determining how hard they are, for instance - effort before and after learning is bound to differ in many cases.
I would think that the proposed K-E swap would put the K key in a too good position? That position is a lot better than its reputation because in reality it's an "almost-home-row" position for people who have decent-length middle fingers (i.e., almost everyone?). Just an illustration of the complexity of the issue.
Swap #4 (A-D) would probably need to more unnecessary confusion than real benefit. The S key moving one position to the right in Colemak is probably the most problematic change for people switching to Colemak. Realizing this, Shai first tried to keep the S key in place but at the end it wasn't quite possible.
Interestingly, the layout proposed by Jay Walker is nearly a partial Colemak. :) Just swap around the J-F-K (hehe!) keys and voila! I'd think that'd be a good idea at any rate since the QWERTY 'T' position isn't good enough for the F key in my opinion. One advantage to that would be that you could take one baby step with that layout and then more easily take the rest of the leap to Colemak later should you feel like that. (Swap L-U as well, and now we're even closer!?)
The 'CarpalxQ' layout by Jay Walker; image from Carpalx. (Note that the 'P' should've been red too.)
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***
As everyone here has pointed out already, the CarpalX site claims the E/K swap is most efficient, and it seems to hold up to scrutiny. E is the most used letter in the English language (something like 9%), and really should be properly seated on the home row. J is the the least frequent letter on the home row, but the H/E, N/E and M/E digraphs kill that one. K is the second least frequent letter on the home row, and under a strong finger, so it makes sense. Conveniently enough, it is also a mirror swap. Same finger, just a different hand. Those are supposed to be easier to adapt to.
While on the topic I do feel it is worth noting that the CarpalX partial optimizations were done with only letter keys being allowed to swap, which is why the 5 and 10 key swap partial optimizations (10 and 20 keys moved respectively) leave the semi-colon on the home row, unlike the user contributed CarpalxQ. According to some very preliminary tests, swapping the semi-colon out Colemak-style would probably be down around the 6th or 7th swap.
Had the program not been focusing on letter keys, however, the top swap might have been Capslock and Backspace. Depends on how many typos the machine made while running the tests...
Cheap Test Drives: Footswitch, Maltron, Vertical Keyboards and The Wide Mod
Okay, analyzing the above some more I'd like to propose a loop! Remember the Tarmak Transitional layout for learning Colemak one hand at a time (with a mini-step before even that should you wish one), as user Ezuk did?
Now, here's an alternative. Rather than focus on learning Colemak one hand at a time we'll focus on making as few changes as possible while maximizing their benefit, and then stepping up the effort if desired. Much like what CarpalX and Jay Walker did (the 'CarpalxQ' layout), but with a Colemak slant. Might be useful for those who would like to try out a half-baked Colemak because a full one seems daunting?
Actually, from the Tarmak remember that there is a little loop that can be implemented quite separately: L>U>I makes 3 keys change from their QWERTY to their Colemak positions without mucking up anything else! This is partially done in the Walker layout above (and if he'd only moved the U as well it'd be there).
The Tarmak had a loop that changed nearly the whole right hand after that one: E>K>N>J>Y>O>; (and then the semicolon got stuck temporarily in the old QWERTY 'E' position). Something similar is going to happen here too, but since the T and F deserve a good position if you're planning on using this for a while and the old E position is quite good they'll get to come out and play (also, the Y>O>; has less impact so we'll forgo that for now). Ready? Here goes: T>F>E>K>N>J and then stick the J in the old T position which should be okay since it's not a very good position and not a common letter. :)
q w F r J y u i o p
a s d T g h N E l ; The "LazyMak" loop (T>F>E>K>N>J)
z x c v b K m
Oops, seems I've named it already! ;) This is a "lazy man's Colemak", right? Trying to get as much benefit as possible out of much less change.
If you want to go a bit further, consider the Y>O>;>P loop as well (one Y more than what the CarpalxQ layout does). That leaves the P in a wrong position, but puts the O on the right-hand home row where it should be:
q w e r t P u i Y ;
a s d f g h j k l O The Y>O>;>P mini-loop (alone)
z x c v b n m
Combining the above I'd put the P on the left hand finally, and the J where it belongs. It becomes pretty much a Tarmak layout (the whole right hand is changed to Colemak!), but with the added benefit of the semicolon, F and T being in place. This would be even more ambitious then, but fortunately it can be split up in baby steps. One thing that might appeal to layout learners is not having to handle the much complained about 'S' key movement of Colemak right away?
q w F r P J L U Y ;
a s d T g h N E I O Ambitious transitional layout (T>F>E>K>N>J>Y>O>;>P plus L>U>I)
z x c v b K m
I'd recommend making at least the "LazyMak" plus one mini-loop of choice, but the latter would be a bit optional I guess and one step at a time would also be entirely possible if you wanted to (see Ezuk's experiences for instance).
People who really don't like the 'S' key moving might get away with leaving it at that? But I hope Shai or someone can tell us why it's a very very good idea to eventually take the final step and put in the last P>R>S>D>G loop to produce a full Colemak layout even if it seems a bit frightening to the newbie! :)
If you're really sceptical to large changes you might want to forgo a logical use of the QWERTY 'E' position so you could do a "most critical mini-loop" of E>K>N>J (with the J ending up at the QWERTY 'E' position). Then, the next step could be the T>F>E or J>Y>O>; loop depending on whether you wanted to take the LazyMak or Tarmak route first, eventually followed by L>U>I and finally ;>P>R>S>D>G (which I personally wouldn't split up).
Interesting?
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***
The most efficient swaps are: K/E, J/O, F/T, A/D, G/N, L/I, M/K, B/J, U/L and Y/M.
As mentioned, I think these statements are error-prone and ultimately subjective but nevertheless interesting pointers.
Here, then, is a new Tarmak (Colemak Transitional 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 relatively rare J in the process
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)>Y>O>; loop, getting the O in place at the small cost of the semicolon
q w {;} r t {J} u i {Y} p
a s d f g h N E l {O} The "Tarmak2(EO)" transitional layout (E>K>N>J>Y>O>;)
z x c v b K m
3) The L>U>I self-contained loop for a better I placement (producing the old Tarmak transitional layout!)
q w ; r t J {L}{U} Y p
a s d f g h N E {I} O The "Tarmak3(EOI)" transitional layout (E>K>N>J>Y>O>; & L>U>I)
z x c v b K m
4) The G>T>F>(;) loop, bringing the T into place
q w {F} r {G} J u i Y p
a s d {T}{;} h N E l O The "Tarmak4(EOIT)" 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
If/when implementing this incrementally, I have to decide on a sequence and the above looks most promising to me. 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 (the whole right hand remapped) before moving to Colemak.
Yay - who wants one? :)
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***
On #3 you're missing a P and have double T ;) Good job. Maybe I'll persuade a buddy of mine to change to Colemak this time.
Hi-games profile: http://hi-games.net/profile/4663
TypeRacer profile: http://data.typeracer.com/pit/profile?user=patcm
Thanks mate - good catch! There were a few more errors too that I fixed. Also thanks for the interest and by all means let us know what your buddy thinks about this! :)
[edit: A bit uncertain about the last steps: Moving the 'P' early evens out the loop sizes which looks nice. But it also moves the quite common letter P into a temporary position instead of just messing with the much less problematic semicolon. In the original Tarmak layout I didn't dare move the P to a temporary position. On the other hand, knowing that the whole hand is now remapped might be a nice and safe thought. Tough choice.]
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***
Heh, I hope Suzzy is happy about the intensity and thoroughness with which her question has been answered! :D
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***
Debating the issue of moving the P around earlier or not (showing some early attempts at the Tarmak#3-4 steps):
3) The T>F>(;)>P loop, bringing two more essential keys into place - this time on the left hand
q w {F} r {P} J u i Y {;} a s d {T} g h N E l O The "Tarmak#3[P3]" transitional layout (T>F>E>K>N>J>Y>O>;>P) z x c v b K m
4) The L>U>I self-contained loop for a better I placement
q w F r P J {L}{U} Y ; a s d T g h N E {I} O The "Tarmak#4[P3]" transitional layout (T>F>E>K>N>J>Y>O>;>P plus L>U>I) z x c v b K m
One alternative would be moving the L>U>I keys one step earlier, which interestingly produces the old Tarmak (step 2) layout!
3) The L>U>I self-contained loop for a better I placement (producing the old Tarmak transitional layout)
q w ; r t J {L}{U} Y p
a s d f g h N E {I} O The "Tarmak#3[P4]" transitional layout (E>K>N>J>Y>O>; plus L>U>I)
z x c v b K m
4) The T>F>(;)>P loop, bringing two more essential keys into place - this time on the left hand
q w {F} r {P} J u i Y {;}
a s d {T} g h N E l O The "Tarmak#4[P4]" transitional layout (T>F>E>K>N>J>Y>O>;>P plus L>U>I)
z x c v b K m
Doing this, the movement of the P key is postponed to avoid entrenching a temporary placement of it into motor memory. It should then only have to be used until the learner is ready for the full Colemak. The downside to that approach is that the T>F>() changes probably reduce typing effort more than the L>U>I changes do.
It's nice to link it more closely to the previous iteration of Tarmak. Please discuss if you wish, though.
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***
Thinking more about it, maybe then the last step should be reevaluated? Moving the P could wait to avoid confusion and the semicolon be our safer joker while pursuing worthier targets? To me it seems that D and G are likely candidates for a better Tarmak#4 (however, moving the D now would really mess up the home position so I'll avoid that):
4) The G>T>F>(;) loop, bringing the most essential keys on the left hand into place
q w {F} r {G} J u i Y p
a s d {T}{;} h N E l O The "Tarmak#4[P5]" transitional layout (G>T>F>E>K>N>J>Y>O>; plus L>U>I)
z x c v b K m
Then again, that raises back up the question of whether to do this before or after the L>U>I change! :) Would this step be a lot more beneficial than L>U>I? If not (I haven't got much of an idea, myself) then adherence to the old Tarmak proposals takes precedence. I'll go with the above step as #4 for now.
Yeah. Looks pretty good now, I think. :) I believe I should move my further musings and info on the Tarmak issue back to the first Tarmak thread now. Cluttered up this topic well and proper already, haven't I. ;)
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***
According to my research, the best swaps in order of effort are: K/E, L/E, J/N, D/T, ;/N, D/E, ;/T, ;/E. These all provide at least an 8% reduction in effort, and the K/E swap reduces effort by 11%. This measure is somewhat subjective though. By finger travel distance, these are the best swaps:
J/T, K/T, ;/T, J/E, K/E, ;/E, F/T, F/E. J/T reduces distance by 15% and F/E by 11%. This does not take into account finger strengths—it would probably be a bad idea to switch T with the semicolon, but it does reduce distance by a lot.
My typing speed record: http://hi-games.net/typing-test/watch?u=493
About tests.
The problem is that all these tests we run are only as good as the model, and the models... frankly, they aren't real hands. They don't float, they don't make accommodations, and they are very, very subjective. For instance I use the keyboard layout analyzer (without a name) at http://www.codesharp.co.uk/dvorak/ as it is the best I can find that doesn't require installing python and/or perl PLUS a 5 week training course (referring to Carpalx and The New Keyboard Layout Project's optimizers). That one says the nj swap is preferable (6.6%) to the ek swap (5.8%), despite the fact that ek has a greater positive impact on distance and same finger ratio. On the other hand, nj has a greater impact on row jumps (On, in, un... think that is about it really) and less damaging to 'effort balance'.
Now if you use the prettier, easier to use, but significantly less capable Pat or JK's Keyboard Layout Analyzer, then its model will tell you that swapping keys like e and f is a wonderful idea, completely ignoring that while you lose the ed (1.47%) and ec(.4%) digraphs, you will kill yourself with the er(2.14%), et(.91%), be(.45%), ve(.55%) and ge(.44%) digraphs.
Taking the question this thread poses in another direction:
What is the single easiest way to improve on Qwerty?
And, as with the majority of my posts, I'm going to again suggest alternate home positions. Nothing too radical this time. Heck, I'm not even going to recommend any key swapping.
No, just rest your fingers on "asef jio;".
I tried rearranging the keys on the codesharp site to try to reflect the new positions and distances, (for instance the left middle finger becomes, e on home, d on bottom, c on number, 3 on top) the results... well, I think they should be better, with only 5.9% (update: 6.5%) effort improvement over Qwerty (and this is not even considering the possible penalties that this position might gain if it turns out to actually be more stressful than traditional placement). Still, it manages to just out preform the ek swap's 5.8%. On paper, the 'fixed' hand position gives less travel distance, better finger/hand balance, greater use of the 'home row', and particularly amusing, less row jumping. The ek swap out preforms in same finger ratio, dropping from qwerty's 4.8 to 3.4. The nj swap is still untouchable at 6.6%, but as stated before, this is mostly due to the 'balancing' statistics. Anyways, I've included the code below. (code is wrong, use new code further down)
`12c4567,.0-=
#qw3rtyu89p[]\
#asefghjio;'*N
*Lzxdvbnmkl/*R
##*S#
*L
#######&<>)_+
######YU**(P{}|
######HJIO:"
######NMKL?
#
*R
~!@C$%^
#QW*#RT
#ASEFG
#ZXDVB
#
Further improvements could probably be made by changing the hand positions to:
- aser/aset nio;/hio; , uncomfortable for me, puts pointers out of position
- aert or jiop , makes left or right shifting respectively damn near impossible. ...and I couldn't figure out how to quantify the strain for the e/s or a/s stretch.
- jiol, ... the less said...
And sorry DreymaR, we're really not giving your Colemak 5-step the feedback it deserves.
Edit: CORRECTION! The codesharp site calculates 3 on the ring and 8 on the index so the code should go as follows
`123c5678,.-=
#qw4rtyu90p[]\
#asefghjio;'*N
*Lzxdvbnmkl/*R
##*S#
*L
#######&**<>_+
######YU()P{}|
######HJIO:"
######NMKL?
#
*R
~!@*#C%^
#QW$RT
#ASEFG
#ZXDVB
#
This change INCREASES the improvement over Qwerty from the previously calculated 5.9% to 6.5%, but decreases the finger effort balance from .8% improvement on qwerty to qwerty being 3.1% improvement on this one. Interestingly enough, switching c to the 4 but leaving the , and . on 8 and 9 (index and middle with the way the test is programmed) raises the improvement over qwerty to 7%, but drops the effort balance to 10.6% in favor of Qwerty.
Cheap Test Drives: Footswitch, Maltron, Vertical Keyboards and The Wide Mod
[...] says the nj swap is preferable (6.6%) to the ek swap (5.8%), despite the fact that ek has a greater positive impact on distance and same finger ratio. On the other hand, nj has a greater impact on row jumps (On, in, un... think that is about it really) and less damaging to 'effort balance'.
[...]
And sorry DreymaR, we're really not giving your Colemak 5-step the feedback it deserves.
Hehe, don't sweat it. I know that this forum comes and goes, and if it can be of use to anyone at some point then it's well worth my effort now. :)
You did make me rather happy just now, pointing out both the NJ and EK swaps as very desirable according to these analyses that are of dubious but interesting nature. That supports my E>K>N>J loop aka Tarmak#1 in a nice way, I'd say!
Should you or any other analysis buff wish to be really wonderful, maybe you could try running the Tarmak steps through one or two of those analysis tools? Would be interesting to see what pops out, and maybe I could make a graph of "effort model improvement" versus step as a result.
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***
Ok, as I understand it, there are two independant loops, and 3 dependent loops.
In order of fewest to most key swaps.
LUI independant. L
EKNJ independant. E
JYO: requires EKNJ. J
GTF: requires JYO:. G
PRSD: requires GTF:. P
L
E
E L
E J
E J L
E J G
E J G L
E J G P
E J G P L
If you want it broken down more than that, you are going to need to be a bit more explicit.
For these tests I am using an except (first 50,000 characters) from Benjamin Button. Don't like? Do your own tests.
LUI
`1234567890-=
#qwertyluop[]\
#asdfghjki;'*N
*Lzxcvbnm,./*R
##*S#
*L
#######&**()_+
######YLUOP{}|
######HJKI:"
######NM<>?
#
*R
~!@*#$%^
#QWERT
#ASDFG
#ZXCVB
#
EKNJ
`1234567890-=
#qwjrtyuiop[]\
#asdfghnel;'*N
*Lzxcvbkm,./*R
##*S#
*L
#######&**()_+
######YUIOP{}|
######HNEL:"
######KM<>?
#
*R
~!@*#$%^
#QWJRT
#ASDFG
#ZXCVB
#
EKNJ LUI
`1234567890-=
#qwjrtyluop[]\
#asdfghnei;'*N
*Lzxcvbkm,./*R
##*S#
*L
#######&**()_+
######YLUOP{}|
######HNEI:"
######KM<>?
#
*R
~!@*#$%^
#QWJRT
#ASDFG
#ZXCVB
#
EKNJ JYO:
`1234567890-=
#qw;rtjuiyp[]\
#asdfghnelo'*N
*Lzxcvbkm,./*R
##*S#
*L
#######&**()_+
######JUIYP{}|
######HNELO"
######KM<>?
#
*R
~!@*#$%^
#QW:RT
#ASDFG
#ZXCVB
#
EKNJ JYO: LUI
`1234567890-=
#qw;rtjluyp[]\
#asdfghneio'*N
*Lzxcvbkm,./*R
##*S#
*L
#######&**()_+
######JLUYP{}|
######HNEIO"
######KM<>?
#
*R
~!@*#$%^
#QW:RT
#ASDFG
#ZXCVB
#
EKNJ JYO: GTF:
`1234567890-=
#qwfrgjuiyp[]\
#asdt;hnelo'*N
*Lzxcvbkm,./*R
##*S#
*L
#######&**()_+
######JUIYP{}|
######HNELO"
######KM<>?
#
*R
~!@*#$%^
#QWFRG
#ASDT:
#ZXCVB
#
EKNJ JYO: GTF: LUI
`1234567890-=
#qwfrgjluyp[]\
#asdt;hneio'*N
*Lzxcvbkm,./*R
##*S#
*L
#######&**()_+
######JLUYP{}|
######HNEIO"
######KM<>?
#
*R
~!@*#$%^
#QWFRG
#ASDT:
#ZXCVB
#
EKNJ JYO: GTF: PRSD:
`1234567890-=
#qwfpgjuiy;[]\
#arstdhnelo'*N
*Lzxcvbkm,./*R
##*S#
*L
#######&**()_+
######JUIY:{}|
######HNELO"
######KM<>?
#
*R
~!@*#$%^
#QWFPG
#ARSTD
#ZXCVB
#
EKNJ JYO: GTF: PRSD: LUI
`1234567890-=
#qwfpgjluy;[]\
#arstdhneio'*N
*Lzxcvbkm,./*R
##*S#
*L
#######&**()_+
######JLUY:{}|
######HNEIO"
######KM<>?
#
*R
~!@*#$%^
#QWFPG
#ARSTD
#ZXCVB
#
Now, I recommend you go to the codesharp site and use these codes yourself, because while it looks alright there, posted as code... this next bit is going to be ugly.
Overall effort (see details of how effort is calculated)
Layout Rank % improvement over worst Effort Score
Qwerty 10 0.0 % 147,896
Loop L 9 2.6 % 144,047
Loop E 8 11.9 % 130,290
Loop EL 7 13.1 % 128,585
Loop EJ 6 13.2 % 128,313
Loop EJL 5 14.4 % 126,547
Loop EJG 4 19.1 % 119,626
Loop EJGL 2 20.3 % 117,859
Loop EJGP 3 20.1 % 118,173
Loop final 1 21.3 % 116,422
Effort imbalance between fingers (see details of how effort is calculated)
Layout Rank % improvement over worst Effort Imbalance Score
Qwerty 2 16.2 % 475
Loop L 8 8.3 % 520
Loop E 5 13.5 % 491
Loop EL 7 9.0 % 516
Loop EJ 10 0.0 % 567
Loop EJL 9 0.4 % 565
Loop EJG 6 10.6 % 507
Loop EJGL 4 13.8 % 489
Loop EJGP 3 13.8 % 489
Loop final 1 17.4 % 469
Travel Distance (only moves between keys, excluding movement to actually press a key) , - computed for a distance between keys of 1.8 cm
Layout LThumb LPinky LRing LMiddle LIndex RIndex RMiddle RRing RPinky RThumb Total
Qwerty 0.0 % 4.8 % 2.8 % 15.5 % 23.7 % 26.9 % 8.5 % 9.9 % 7.9 % 0.0 % 1,221 m
Loop L 0.0 % 5.0 % 3.0 % 16.3 % 24.9 % 26.9 % 5.2 % 10.4 % 8.3 % 0.0 % 1,162 m
Loop E 0.0 % 6.4 % 3.8 % 3.7 % 32.0 % 20.2 % 11.1 % 12.7 % 10.2 % 0.0 % 914 m
Loop EL 0.0 % 6.7 % 4.0 % 3.9 % 33.6 % 21.1 % 6.8 % 13.4 % 10.6 % 0.0 % 871 m
Loop EJ 0.0 % 7.3 % 4.4 % 3.8 % 36.6 % 17.7 % 12.6 % 6.0 % 11.7 % 0.0 % 798 m
Loop EJL 0.0 % 7.7 % 4.6 % 4.0 % 38.8 % 19.5 % 6.8 % 6.3 % 12.3 % 0.0 % 754 m
Loop EJG 0.0 % 8.4 % 5.0 % 8.6 % 22.3 % 20.6 % 14.6 % 6.9 % 13.5 % 0.0 % 687 m
Loop EJGL 0.0 % 9.0 % 5.3 % 9.1 % 23.9 % 22.9 % 8.0 % 7.4 % 14.4 % 0.0 % 642 m
Loop EJGP 0.0 % 8.6 % 5.1 % 8.9 % 22.9 % 21.1 % 15.0 % 7.1 % 11.2 % 0.0 % 669 m
Loop final 0.0 % 9.2 % 5.5 % 9.5 % 24.5 % 23.5 % 8.2 % 7.6 % 12.0 % 0.0 % 625 m
% Home keys (out of all character keys plus SHIFT and ENTER, but excluding keys operated by thumbs - for example, a s d f j k l ; : on Qwerty)
Qwerty 23.3 %
Loop L 26.0 %
Loop E 39.9 %
Loop EL 42.5 %
Loop EJ 46.7 %
Loop EJL 49.4 %
Loop EJG 53.0 %
Loop EJGL 55.6 %
Loop EJGP 54.2 %
Loop final 56.8 %
% Keys typed with the same finger as the previous key (excluding repeating keys like ee)
Qwerty 4.8 %
Loop L 4.5 %
Loop E 3.2 %
Loop EL 2.9 %
Loop EJ 3.5 %
Loop EJL 2.6 %
Loop EJG 3.3 %
Loop EJGL 2.4 %
Loop EJGP 2.7 %
Loop final 1.8 %
Damnable tabs. Still, should be readable. I hope.
ALSO, for what it is worth, N/J E/K gets better results than E>K>N>J by about .75%
EDIT: Straightened Tables
Cheap Test Drives: Footswitch, Maltron, Vertical Keyboards and The Wide Mod
Wow, quick reply with a lot of work! Thanks.
At first, I didn't quite follow your terminology but it looks clear now (maybe I'd like to focus on the most important letter in each loop and call them E/I/O/T/S instead of E/L/J/G/P? - but those letters might be less clear to the bystander). Thanks for doing such thorough work - impressive, to say the least! So the correct steps for my currently proposed Tarmaks would be what you call E / EJ / EJL / EJGL / final above then? It's not that each loop really depends on any of the other ones, just that all of them except the LUI and whatever is the final one will leave one key misplaced and sort out one formerly misplaced key. My decision was to first make that the J but remedy that quickly and afterwards start throwing the semicolon around instead. I figured that'd be the least damaging/annoying option.
Hmmm... some interesting results there I think. Looks like the impact of the GTF loop is really huge, and the LUI loop also does more for the results than I expected it to. In hindsight, I feel I should've seen that coming with T being the second most common letter in English and its position in QWERTY a quite bad one. Makes one wonder what results the 'Loop EG' would've gotten (but on the other hand it might be good to fix the misplaced J early?), and it does indicate that making step 3 the 'EJG' would've been a much better choice even if it'd kill the original Tarmak layout. I'll have to think about this then...
2) The G>T>F>(J) loop, bringing the T into place
q w {F} r {G} y u i o p
a s d {T}{J} h N E l ; Contender for the "Tarmak#2(ET)" transitional layout (G>T>F>E>K>N>J)
z x c v b K m
Could you analyze this 'Loop EG' step as well, please? It does look somewhat intrigueing since it'd mean that we'd give first the right hand and then the left hand an important initial step each before moving on. And that sounds right somehow (I did wonder about whether the right hand really was so much more in need of improvement than the left one...).
It's interesting to see how the 'final' step doesn't score a lot of "overall effort" compared to either of the 4-loop ones but does give a significant improvement in same-finger, balance and more. Looking at "overall effort" alone one might think that stopping midway and just staying with the 'EJG' layout would be good enough for many users at just 10 moved keys instead of Colemak's 17, but I don't buy that. My intuitive feeling would be that the "overall effort" probably doesn't account well enough for the total effect of these improvements?
Caveat: Indeed, I should think that a mere 50,000 characters from one specific work isn't much of a lexicon?
Yeah, guess I should do it myself - I'd like to see a Dvorak comparison thrown in there as well for instance. But I never got around to fiddling with those tools.
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***
Same text, so scores are comparable to previous test. 50,000 character limitation is by tool's design, not my choice.
Loop EG
`1234567890-=
#qwfrgyuiop[]\
#asdtjhnel;'*N
*Lzxcvbkm,./*R
##*S#
*L
#######&**()_+
######YUIOP{}|
######HNEL:"
######KM<>?
#
*R
~!@*#$%^
#QWFRG
#ASDTJ
#ZXCVB
#
Loop EGL
`1234567890-=
#qwfrgyluop[]\
#asdtjhnei;'*N
*Lzxcvbkm,./*R
##*S#
*L
#######&**()_+
######YLUOP{}|
######HNEI:"
######KM<>?
#
*R
~!@*#$%^
#QWFRG
#ASDTJ
#ZXCVB
#
Overall effort (see details of how effort is calculated)
Layout Rank % improvement over worst Effort Score
Qwerty 7 0.0 % 147,896
Dvorak 4 18.9 % 119,898
Colemak 3 21.3 % 116,422
Workman 1 21.8 % 115,595
Dvorak U/I 2 21.4 % 116,217
Loop EG 6 17.7 % 121,678
Loop EGL 5 18.9 % 119,973
Effort imbalance between fingers (see details of how effort is calculated)
Layout Rank % improvement over worst Effort Imbalance Score
Qwerty 5 4.2 % 475
Dvorak 7 0.0 % 496
Colemak 4 5.5 % 469
Workman 1 21.9 % 387
Dvorak U/I 6 3.6 % 478
Loop EG 2 10.4 % 444
Loop EGL 3 7.9 % 457
Finger Travel Distance (only moves between keys, excluding movement to actually press a key) , - computed for a distance between keys of 1.8 cm
Layout LThumb LPinky LRing LMiddle LIndex RIndex RMiddle RRing RPinky RThumb Total
Qwerty 0.0 % 4.8 % 2.8 % 15.5 % 23.7 % 26.9 % 8.5 % 9.9 % 7.9 % 0.0 % 1,221 m
Dvorak 0.0 % 10.0 % 2.7 % 3.5 % 21.1 % 26.8 % 8.8 % 12.4 % 14.7 % 0.0 % 717 m
Colemak 0.0 % 9.2 % 5.5 % 9.5 % 24.5 % 23.5 % 8.2 % 7.6 % 12.0 % 0.0 % 625 m
Workman 0.0 % 7.7 % 9.7 % 17.1 % 21.4 % 16.5 % 8.2 % 5.8 % 13.5 % 0.0 % 622 m
Dvorak U/I 0.0 % 10.9 % 2.9 % 3.8 % 14.6 % 29.0 % 9.5 % 13.5 % 15.9 % 0.0 % 662 m
Loop EG 0.0 % 7.2 % 4.3 % 7.3 % 19.4 % 23.0 % 12.6 % 14.5 % 11.6 % 0.0 % 802 m
Loop EGL 0.0 % 7.6 % 4.5 % 7.7 % 20.5 % 24.3 % 7.8 % 15.4 % 12.2 % 0.0 % 758 m
% Home keys (out of all character keys plus SHIFT and ENTER, but excluding keys operated by thumbs - for example, a s d f j k l ; : on Qwerty)
Qwerty 23.3 %
Dvorak 53.8 %
Colemak 56.8 %
Workman 57.3 %
Dvorak U/I 57.3 %
Loop EG 46.1 %
Loop EGL 48.8 %
:: UP ::
% Keys typed with the same finger as the previous key (excluding repeating keys like ee)
Qwerty 4.8 %
Dvorak 2.1 %
Colemak 1.8 %
Workman 2.7 %
Dvorak U/I 2.1 %
Loop EG 3.0 %
Loop EGL 2.7 %
Note: I haven't included the 'keys per finger' or 'effort per finger' charts. Figured I was already tossing around enough numbers. As I stated before, a test is only as good as its model, and no model can compare to a real hand. Looking at this data, Workman comes ahead. Look at Carpalx and Colemak is the clear winner. I suppose this is one of those times where synergy actually counts for something.
Edit: Update
I lied. I have more numbers for you.
Found a new competitive low move layouts. As follows:
Qwerty ek nj tf - 6 keys moved, 17.1% improvement, same finger 3.4%
q w K r F y u i o p
a s d T g h N E l ;
z x c v b J m , . /
Qwerty ek nj tf fk - 6 keys moved, 18% improvement, same finger 3.2%
q w F r K y u i o p
a s d T g h N E l ;
z x c v b J m , . /
Qwerty ek nj tf fk kj - 6 keys moved, 18% improvement, same finger 3%
q w F r J y u i o p
a s d T g h N E l ;
z x c v b K m , . /
I find this interesting, as the last one is supposedly 'better' than the Tarmak Loop EG where 7 keys moved, and the only difference is that J/G. I suppose it is like the balance drop seen around Loop EJ and EJL.
Overall effort (see details of how effort is calculated)
Layout Rank % improvement over worst Effort Score
Qwerty 5 0.0 % 147,896
Tarmak Loop EG (7 keys) 3 17.7 % 121,678
EK NJ TF (6 keys) 4 17.1 % 122,551
EK NJ TF FK (6 keys) 1 18.0 % 121,226
EK NJ TF FK KJ (6 keys) 2 18.0 % 121,348
Effort imbalance between fingers (see details of how effort is calculated)
Layout Rank % improvement over worst Effort Imbalance Score
Qwerty 5 0.0 % 475
Tarmak Loop EG (7 keys) 3 6.5 % 444
EK NJ TF (6 keys) 4 2.1 % 465
EK NJ TF FK (6 keys) 1 6.8 % 443
EK NJ TF FK KJ (6 keys) 2 6.7 % 443
Finger Travel Distance (only moves between keys, excluding movement to actually press a key) , - computed for a distance between keys of 1.8 cm
Layout LThumb LPinky LRing LMiddle LIndex RIndex RMiddle RRing RPinky RThumb Total
Qwerty 0.0 % 4.8 % 2.8 % 15.5 % 23.7 % 26.9 % 8.5 % 9.9 % 7.9 % 0.0 % 1,221 m
Tarmak Loop EG (7 keys) 0.0 % 7.2 % 4.3 % 7.3 % 19.4 % 23.0 % 12.6 % 14.5 % 11.6 % 0.0 % 802 m
EK NJ TF (6 keys) 0.0 % 7.2 % 4.3 % 4.8 % 22.7 % 22.1 % 12.7 % 14.6 % 11.6 % 0.0 % 800 m
EK NJ TF FK (6 keys) 0.0 % 7.3 % 4.3 % 7.4 % 19.5 % 22.3 % 12.8 % 14.7 % 11.7 % 0.0 % 793 m
EK NJ TF FK KJ (6 keys) 0.0 % 7.3 % 4.3 % 7.4 % 18.6 % 23.3 % 12.8 % 14.7 % 11.7 % 0.0 % 794 m
% Home keys (out of all character keys plus SHIFT and ENTER, but excluding keys operated by thumbs - for example, a s d f j k l ; : on Qwerty)
Qwerty 23.3 %
Tarmak Loop EG (7 keys) 46.1 %
EK NJ TF (6 keys) 46.1 %
EK NJ TF FK (6 keys) 46.1 %
EK NJ TF FK KJ (6 keys) 46.1 %
% Keys typed with the same finger as the previous key (excluding repeating keys like ee)
Qwerty 4.8 %
Tarmak Loop EG (7 keys) 3.0 %
EK NJ TF (6 keys) 3.4 %
EK NJ TF FK (6 keys) 3.2 %
EK NJ TF FK KJ (6 keys) 3.0 %
EDIT: Straightened Tables
Cheap Test Drives: Footswitch, Maltron, Vertical Keyboards and The Wide Mod
Again, thanks. Yes, it does indeed seem (and clear-cut enough that I'm trusting it despite my generic reservations) that a better placement of the letter T should take precedence over fiddling with the rest of the right hand!
I don't think we should put much stock in minor differences (say, ~1%) in the model results. I don't think the model is good enough to warrant that.
The new Tarmak proposal will be the EGJL sequence. Or ETOI, focusing on the most important letters - cfr the most commonly cited sequence ETAOINS(HRDLU) of letter frequencies in English which shows that this new Tarmak should fix the most common letters sequentially (bearing in mind that the A doesn't need fixing according to Colemak and the N gets fixed in step 1).
Your low-swap layouts look interesting, yes. But as you know, my focus for now is to provide a set of stepping-stones to the Colemak. Looking to the end result, as mentioned I do feel that this model doesn't capture some important factors that only become truly apparent towards the end result. Using only a fraction of a fully optimized result is what Colemak does one might argue (not moving more than 17 keys while others do twice as many), but I'm hoping the above analyses show that the increase in benefit stops (20-22% model parameter improvement) at about that many keys. The Workman moves 21 keys to achieve about the same as Colemak and Dvorak-UI, for instance; the rest is finer points that the model don't pick up. If we were to trust the models then moving 6 keys could be enough to achieve ~90% of that benefit, as you show!
I'll update my posts to reflect these results and conclusions, but I'll do it in the main Tarmak topic. Again again, thanks mate! :)
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***
Disclaimer: Shift home positions at your own risk.
Since I was curious about the distance reduction of alternate resting positions, I did a bit more analysis*. As the only metric that changes in a meaningful AND measurable way is distance, I chose to use PAT or JK's Keyboard Layout Analyzer for simplicity. Then I figured if I already have this data, and while not as complete as if I had used codesharp, there can't be any harm in posting it. (Then I thought better of it and added the disclaimer.)
(diagrams, not code this time)
Note: Number row is being used to represent keys a 2 row strech from home. Keys are otherwise kept in position relative to new fingering.
Qwerty (asdf jkl;)
12345 67890-=
qwert yuiop[]
asdfg hjkl;'
zxcvb nm,./
Left-hand
asef jkl;
12c45 67890-=
qw3rt yuiop[]
asefg hjkl;'
zxdvb nm,./
aser jkl;
12cvb 67890-=
qw345 yuiop[]
asert hjkl;'
zxdfg nm,./
aset jkl; (streching pointer over the r)
(left other positions the same, as they are still harder to reach)
12cvb 67890-=
qw345 yuiop[]
asetr hjkl;'
zxdfg nm,./
Right Hand
asdf jil;
12345 67,90-=
qwert yu8op[]
asdfg hjil;'
zxcvb nmk./
asdf jio;
12345 67,.0-=
qwert yu89p[]
asdfg hjio;'
zxcvb nmkl/
asdf jiop (swapped the apostrophe for more accurate representation)
12345 67,./-=
qwert yu890']
asdfg hjiop[
zxcvb nmkl;
Combined ... use your imagination
Note: Results rounded to nearest percent. The number row represents the increased percentage of 2 row stretches. Also, I am discounting distance changes based on the right shift key. I'm a left shifter. I learned on an ANSI board, and on an ANSI board the left shift is half an inch closer to typing position (practically right under the left pinkie) than the right shift. And, you know, without the right shift's wrist breaking angle.
Layout Name Meters -%Meters %Home +%Number
Standard Home
asdf jkl; 1359.9615 0% 34% 0%
Left Adjustments
asef jkl; 1279.3306 6% 42% 2%
aser jkl; 1237.7218 9% 52% 6%
aset jkl; 1186.8195 13% 52% 6%
Right Adjustments
asdf jil; 1286.2888 5% 40% 1%
asdf jio; 1252.2520 8% 44% 3%
asdf jiop 1238.8844 9% 43% 3%
For Combined Hands, math up the Left and Right numbers. EX:
aser jiop 18% 62% 9%
aset jiop 22% 62% 9%
And that is that. Make of it what you will.
*When DreymaR used the word analysis over in the Tarmak thread, I remembered all of the times I have heard the "Colemak has no research" line. Mostly from Dvorak users. Upon thinking about it, it occurred to me that despite what me may think about Carpalx and all of our other fancy computer simulations, most of them are based on logically sound, reasonable, but mostly unproven hypothesis.
It is like the 'people who eat their greens live longer' line. While this may be true, it is a misleading statement that downplays the importance of other factors. Such as, people who make sure to eat balanced diets are more health conscious in the first place, and take better care of themselves. Or, vegetables are more expensive than junk food, in calories per dollar measure, and usually take more work to prepare. Thereby, people who buy veggies are people who can afford veggies, and have more time to do them up, probably make more money, have a higher quality of living, go to their yearly checkups and so on.
More relevant to this topic, people who use Dvorak exhibit a lower percentage of RSI. This might not have quite so much to do with Dvorak itself, and more to do with the type of person who is concerned enough with RSI to take the time to LEARN Dvorak. And, maybe do hand stretches, warm up exercises, take breaks, etc.
Also for what it is worth, supposedly RSI was almost unknown back in the days of typewriters. I have heard it suggested that the reason for this was due to the frequent micro-breaks forced on the typist by working the carriage return lever and changing paper. Again, discounting other relevant factors.
Point is: what we have here is Analysis of potentially relevant data. Pure number crunching. Not Research.
I was just checking some numbers, and double check, I took the old asef jio; code, supposedly 14% distance reduction through PAT or JK's and ran it through codesharp again, as I had ignored distance percentages on previous runs. Found that while the effort reduction was still at the 6.5% I quoted earlier, apparently it scored 17.7% distance reduction over qwerty. ... I must be missing something, somewhere. Again.
Cheap Test Drives: Footswitch, Maltron, Vertical Keyboards and The Wide Mod
I learned on an ANSI board, and on an ANSI board the left shift is half an inch closer to typing position (practically right under the left pinkie) than the right shift. And, you know, without the right shift's wrist breaking angle.
You know, it's kinda funny: Using a Wide ergonomic mod, the RShift stretch is the same distance and practically the same angle as the ANSI LShift one. On my ISO keyboard, the LShift stretch is about the same distance and angle as the ANSI RShift one. At least, using the Angle ergonomic mod the stretch to the LShift does feel a little better (it's just as long but it doesn't involve much contortions of the left wrist)... :)
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***
@cevgar
Regarding your footnote rant. Do you have faith in those statistics that you produced then?
The carpalx stats are strangely alluring at first, but the stats miss a lot of the subtleties of typing.
I think the kind of people that pick an alternative to Qwerty are the kind of people that may already be wrestling with RSI symptoms rather than newcomers to touch typing.
A typewriter is quite a different beast from a modern computer keyboard. I wonder if there is a keying style that is economical for both? I remember using a manual typewriter when I was young, and they were pretty tiring on the fingers. Dvorak was originally designed for a typewriter.
--
Physicians deafen our ears with the Honorificabilitudinitatibus of their heavenly Panacaea, their sovereign Guiacum.
@DreymaR
A bad habit I have yet to find the motivation to break I suppose. Interestingly enough, on Qwerty and Colemak (with the same given text) the L. Shift is actually more frequent than the right. Percentage of keystrokes, L.Shift 1.93% to R.Shift 1.35%. Dvorak is more balanced L-1.69% R-1.59%. Workman flips them L-1.55% R-1.73%.
@pinkyache
Since no one seems to be reading the lines where I state that these are just tests, and models are subjective and unreliable, let me try to make this clear. I have faith in the measurements produced. Distance, same finger count, home key count, finger frequency, individual finger distance, letter counts, and so on. These numbers don't change. What I question is their relevance. The impact they have on 'effort' or the impact of 'effort' has on ergonomics. Obviously, having to type consecutive letters with the same finger will slow a typing down. A finger can't be in two places at once. More distance traveled, again, slows the typist down, and should be more work. Hand altercation naturally means more time to float and reduction of awkward same hand stretches. Inward rolls... is, if nothing else, an interesting number. The impact of any of these values on ergonomics however is questionable. Remember, easier and healthier aren't synonymous. Sitting on your couch all day takes much less effort, but most doctors will tell you that a reasonable amount of exercise is better for you. Slouching is easier than using proper posture, but you will pay for it in the long run. Like wise, speed isn't always what it is cracked up to be either. I could drive to work at 120mph everyday, blow through all traffic lights and stop signs. Sure, I'd save myself lots of time, but I'll probably live longer by driving withing forgivable range of the speed limit and making at least a token effort to observe local traffic laws.
So who is to say that rolls shouldn't trump all? Row jumping, home positions and same finger be damned. Or perhaps it is best for distance to be minimized, relying on an exhaustive collection of shifted layers and deadkeys, tripling keypresses in a desperate bid to reduce motion. I don't think we will ever know (though perhaps the term REPETITIVE strain should be a hint). Still, I kinda like being fast and lazy... even if it means doing the same motion, with less variation, faster, with higher frequency.
Carpalx is nice. The problem is that 1) it requires python and user command line tolerance (neither of which I have) 2) it is an optimizer first and analyzer by proxy, so the statistics are incomplete and take a while to decipher and 3) questionable optimizations. For instance, that J/O swap recommended in the 5 and 10 step layouts actually increases same finger percentage from qwerty's 4.8 to 7.4, decreasing distance by 7.6%. The N/J swap maintains qwerty's 4.8% same finger frequency, but reduces travel distance by 11%. When looking at that what do you choose? Reducing the travel distance of a weal finger by 7%, at the cost of no,ho,ou,mo all on a single finger? Or N/J, which reduces the travel distance by 11%, but only by moving something that wasn't in that bad of a place to begin with? So as I said, I trust the metrics, the grading, not so much. (Ironically, the third step, T/F, reduces movement by 9% and also leaves the same finger at qwerty's 4.8%. Why anyone would recommend the O/J swap, I have no idea.)
As I stated in the typewriter bit, "discounting other relevant factors". Such as, but not limited to: weight of keys, length of key action, type of motion (linear/angular) of key action, height difference between rows, amount of typing done annually, average time spent typing without breaks, average wpm of average typist (perhaps influenced by difficulty in fixing mistakes), number of typists or jobs that required touch typing, etc. As for Dvorak being designed for typewriter use: so was Qwerty. Turns out Dvorak was just fast and lazy too.
Since people have expressed reasonable doubt about these computer simulations, I'd figure I'd do this one out for you guys the long way.
Text: First 50,000 characters of Benjamin Button (25 pages)
Stats:
E: used 4829 times. Keystroke frequency 9.39%. Distance 1.8 cm, round trip 3.6 cm. Total distance 173.844 Meters
K: used 286 times. Keystroke frequency 0.56%. Distance 0 cm round trip 0 cm. Total distance 0 Meters
Swapping distances for E/K results in a total distance of: 10.296 Meters. Finger travel distance reduced by 163.548 Meters.
Backspace: Distance 5.7 cm, round trip 11.4 cm.
Capslock: Distance 1.8 Standard, 2.3 with dropped inside edge. Round trip 3.6 or 4.6
Swap reduces distance by 7.8 cm or 6.8 cm respectively.
Finding the break even point: For this text E/K swap saves 16354.8 cm, for each correction the Backspace swap saves at worst 6.8 cm.
16354.8/6.8= 2405.11 keystrokes. Out of 50,000 characters= 4.81%. Or 95.2% accuracy.
Summary: If your typing accuracy is less than 95%, swapping the capslock for another backspace is the better choice. Or, you know, typing slower. Maybe putting down the beer. Taking the cat, small child and/or other household creature off your lap. Drinking a bit less coffee in the morning. Trying to focus on only one language intensive task at a time (put down the cell phone, close all the IM windows). Not touch typing while driving a car. Reverting back to hunt and peck. All of the above. That sort of stuff will probably be more helpful to you in the long- well, in general.
Update
Just wanted to be put on the record that, while I do believe distance to be a useful measure of a layout, it is hardly as bulletproof as my 'alternate resting position' quest makes it seem. Proper float negates much of this value. Float should transfer motion from the smaller, more ... fussy, finger muscles, and towards the larger, more durable arm muscles. Slower too. That is I think, where the basis of Dvorak's hand altercation comes from. It is like proper penmanship. Write from the arm, use the fingers for small adjustments.
Cheap Test Drives: Footswitch, Maltron, Vertical Keyboards and The Wide Mod
Nice post, cevgar! I agree with your musings, and they're well written too. :)
I'd put more stock in same-finger than in distance, myself. But others see it differently (and the Workman creator seems not to mind same-finger much which makes me think he's a complete nutcase?).
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***
LEJGP
'CoLEJGPak'?
Banned from Colemak
Certainly not! The Tarmak loops are each named for the most important letter they bring to a better place, thus ETROI in the right sequence for the current Tarmak progression (and ETOIR for the old one). But these don't make for good names. They're just codes for marking the different variants. 'Tarmak' is a much better name as it's catchy and interestingly connotated.
*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***