Author Topic: Help me decide on my final layout!  (Read 3385 times)

0 Members and 1 Guest are viewing this topic.

Offline Steven Tammen

  • Thread Starter
  • Posts: 11
Help me decide on my final layout!
« on: Tue, 28 July 2015, 02:03:05 »
Over the last couple weeks I've done a lot of reading on keyboard layout optimization and the algorithms that let you do such. I've come to realize that totally custom layouts are something that you can tweak forever and never actually learn, so I decided I'd compare the few I liked best to see how they stacked up and just pick one (so I would actually start typing). Then I realized that all the optimizers are coded in Perl, C, or C++ and run from the command line... and I'm not currently capable of handling this.

This being the case, I was wondering if maybe other people in the community could help me out in comparing the layouts I've narrowed it down to. I don't actually need any optimization, I just want to see how they stack up in as many of the programs as possible. If you could tweak the weights in the optimizers to reflect the preferences below that would be great, but I would be really grateful if anyone took the time to run them through the programs with or without my heuristics. In order of importance:

1) Low same finger
2) High alternation AND high inward rolls (I value them about equally)
3) Low travel distance
4) Low outward rolls
5) Low trigram “cycling” on same hand typing,  e.g., “afs” or “ljk” on QWERTY
6) Balanced finger load
7) Balanced hand load

Listed below are the 4 layouts I'm considering, both their images from Patorjk's site and the keyboard layout as text. While I am planning to buy an ergo board eventually (like the Kinesis Advantage, Ergodox, Axios, etc.), I am also planning to use the layout on a couple of laptop keyboards with PKL, so E is not going to go on a thumb cluster (but I did like the concept). For now, shift is going to stay on the pinkies, though I might change this in the future after I actually have a keyboard to experiment with. For these reasons, I'm just going to show the typical staggered layouts (which, if i'm not mistaken, work more universally among the optimizers anyway). The best case scenario would be if someone who has one of the optimizers could run all 4 through with the same parameter weights so that it's not different weightings when comparing the layouts.

More
1) Oneproduct's updated layout (see this thread). I swapped the comma and period due to personal preference, but it's pretty much his layout.

Picture: https://goo.gl/photos/UCX8G13aUaAYcnnR8

Text Layout:

~ ! @ # $ % ^ & * ( ) _ +
B L D W G J > O Y Q { } |
N R S T M U A E I H "
P Z C F V X < : ? K

` 1 2 3 4 5 6 7 8 9 0 - =
b l d w g j . o y q [ ] \
n r s t m u a e i h '
p z c f v x , ; / k


More
2) This is the previous layout except with the u next to the o for a nice inward roll on the ou digram. This change makes it look a bit more like the MTGAP layout (which I also liked, but not as much as these 4), and I couldn't see by eye how this would noticeably increase travel distance or same-finger (though it does take u off the home row). It's possible (probable), however, that the computer knows best and I'm missing something.

Picture: https://goo.gl/photos/DzW1yVJuhoKXqs896

Text Layout:

~ ! @ # $ % ^ & * ( ) _ +
B L D W G J U O Y Q { } |
N R S T M > A E I H "
P Z C F V X < : ? K

` 1 2 3 4 5 6 7 8 9 0 - =
b l d w g j u o y q [ ] \
n r s t m . a e i h '
p z c f v x , ; / k


More
3) "Balance 12" by Sasha Viminitz. This layout (posted in the comments on this page), according to its creator, takes the best aspects of both Colemak (low same-finger and travel distance) and Dvorak (high alternation and inward/outward roll ratio) and combines them at the cost of finger/hand balance. The comma also acts as a deadkey shift.

Picture: https://goo.gl/photos/9tdhrKpFAc4sMyZn6

Text Layout:

\ / # $ % ^ & * _ +
B Y O U @ K D C L P Q { }
H I E A ; M T S R N V
X [ ] : ! W G F J Z

1 2 3 4 5 6 7 8 9 0 – =
b y o u ‘ k d c l p q ” —
h i e a , m t s r n v
x ( ) . ? w g f j z


More
4) Sasha's updated version of Balance 12, found on that same page. Apparently Patorjk thought this was slightly better than the original, but there's really not much difference (Patorjk's ranking relies highly on the corpus used and can be inconsistent).

Picture: https://goo.gl/photos/99MZ4zSBQmVriRyt6

Text Layout:

\ / # $ % ^ & * _ +
B Y O U @ V C D L P Q { }
H I E A ; F S T R N K
X [ ] : ! W G M J Z

1 2 3 4 5 6 7 8 9 0 – =
b y o u ‘ v c d l p q ” —
h i e a , f s t r n k
x ( ) . ? w g m j z


Thanks in advance!
« Last Edit: Sat, 12 December 2015, 15:58:32 by Steven Tammen »

Offline PieterGen

  • Posts: 135
Re: Help me decide on my final layout!
« Reply #1 on: Wed, 29 July 2015, 09:50:49 »
Here you go, I analysed the layouts. For comparison I put some other layouts in as well.

Method:
- I used the AdnW-algorithm, trigram variety (meaning that AdnW will score very high... AdnW make Dvorak-like assumptions, favoring alternation over rolls and punishing too much 'adjacent' keys. So, if you don't "buy"those assumptions, feel free to reject the metrics).
- on an english-only text-only corpus

- Total score is what it says..... lower is better
- Distance: the ranking of the keys. Keys in easy location = better (lower) score. (There are trade-offs however. For instance, you might end up with too many frequent letters on the left hand). You may or may not like AdnW's assumptions of what a nice location is, but imho in all analysers these are more or less the same: home row is good, top / bottom rows less good, qwerty YB are the worst locations/ highest distance
- Same Finger: the precentage of lettercombinations that are typed with the same finger. Lower is better
- Alternation: the precentage of lettercombinations that are typed with two hands. Higher is better
- In/Outwards: the ratio of inward to outward movements (or rolls). 1.000 means there are exactly as many inward as outward rolls. > 1 means there are more inward rolls. Higher is better
- AdjacentKey: the percentage of lettercombinations that are typed with letters that are neighbours. Such as (qwerty) AS or KJ or OP. Important: AdnW (and Dvorak) think adjacent keys are bad, especially on linky/ring; Colemak thinks they are good (Colemak call this rolls. AdnW thinks a ring-> index rolls is good but a ring->middle finger roll is bad). This influences the total score, so please look at the detailed numbers as well and draw you own conclusions) 
- left, right: the percentage of strokes with each hand. 50/50 is best.
- top, mid, bot: the percentage of strokes on the top row, mid row (home) and bottom row.
- also you see the percentage of each finger (left pinky, left ring, left mid, left index, right index, right mid, right ring, right pinky; sum = 100%; thumbs are not part of this percentage)

- ignore the symbols ßäöü. They are only there because I still haven't modified the German source code of the analyser, I have to put those in or the program will complain. They are not part of the analysis.
- the program only analyses the alpha's and ,.  Other signs, such as []/? etc. are not analysed.

Here we go.

OneProd            301.458 TotalScore     195.616 Distance          left right
                   1.322 SameFinger     20.992 Shift-SameFinger   top 12.7 10.1
  bldwg j.oyqß    71.206 Alternation    23.896 Shift-Alternation  mid 30.3 33.9
  nrstm uaeihä     3.583 In/outward      6.735 IndirKollision     bot  9.1  3.9
  pzcfv x,öük     10.791 Adjacent        9.021 Shift-Adjacent     sum 52.1 47.9
                 11.2  9.9 13.3 17.7 --.- --.- 13.1 18.7  8.7  7.4 Sh  1.0  1.8


OneProd2            300.875 TotalScore    196.320 Distance              left right
                   1.322 SameFinger     20.992 Shift-SameFinger   top 12.7 11.5
  bldwg juoyqß    71.206 Alternation    23.896 Shift-Alternation  mid 30.3 32.5
  nrstm .aeihä     3.583 In/outward      6.735 IndirKollision     bot  9.1  3.9
  pzcfv x,öük     10.791 Adjacent        9.021 Shift-Adjacent     sum 52.1 47.9
                 11.2  9.9 13.3 17.7 --.- --.- 13.1 18.7  8.7  7.4 Sh  1.0  1.8


Bal12            285.587 TotalScore    186.903 Distance              left right
                   1.057 SameFinger     21.163 Shift-SameFinger   top 12.7 13.5
  byouß kdclpq    70.387 Alternation    24.549 Shift-Alternation  mid 32.5 31.2
  hiea, mtsrnv     3.408 In/outward      7.038 IndirKollision     bot  3.2  6.9
  xöü.ä wgfjz     10.553 Adjacent        9.638 Shift-Adjacent     sum 48.4 51.6
                  8.2  8.7 18.7 12.8 --.- --.- 19.2 11.6 10.0 10.9 Sh  1.8  1.0


Bal12_2            283.075 TotalScore    187.900 Distance        left right
                   1.106 SameFinger     20.870 Shift-SameFinger  top 12.7 13.7
  byouß vcdlpq    70.387 Alternation    24.549 Shift-Alternation mid 32.5 30.6
  hiea, fstrnk     2.747 In/outward      6.754 IndirKollision    bot  3.2  7.3
  xöü.ä wgmjz     10.829 Adjacent        9.638 Shift-Adjacent    sum 48.4 51.6
                  8.2  8.7 18.7 12.8 --.- --.- 16.2 14.8 10.0 10.7 Sh  1.8  1.0


QWERTY           576.383 TotalScore    338.719 Distance            left right
                   6.804 SameFinger      6.299 Shift-SameFinger  top 28.0 20.2
  qwert yuiopü    52.755 Alternation    41.474 Shift-Alternation mid 22.1  9.5
  asdfg hjklöä     1.080 In/outward     11.226 IndirKollision    bot  6.8 13.3
  zxcvb nm,.ß     21.628 Adjacent       12.586 Shift-Adjacent    sum 56.9 43.1
                  9.1  8.4 18.5 20.9 --.- --.- 18.4  8.9 12.1  3.6 Sh  1.1  1.7


Colemak          307.722 TotalScore   186.227 Distance             left right
                   1.348 SameFinger    14.374 Shift-SameFinger   top  7.8  8.2
  qwfpg jluyäö    58.143 Alternation   39.607 Shift-Alternation  mid 32.7 37.3
  arstd hneioü     1.041 In/outward     8.772 IndirKollision     bot  6.8  7.3
  zxcvb km,.ß     17.492 Adjacent       9.009 Shift-Adjacent     sum 47.2 52.8
                  9.1  7.8 11.6 18.7 --.- --.- 18.8 15.4  9.8  8.7 Sh  1.1  1.7


Dvorak           321.724 TotalScore    201.888 Distance              left right
                   2.668 SameFinger     13.145 Shift-SameFinger  top  6.0 17.0
  ä,.py fgcrlq    70.679 Alternation    33.265 Shift-Alternation mid 36.1 30.5
  aoeui dhtnsß     1.606 In/outward      6.623 IndirKollision     bot 2.9  7.6
  öüjkx bmwvz     11.100 Adjacent       20.835 Shift-Adjacent    sum 45.0 55.0
                  9.7  8.2 13.0 14.1 --.- --.- 16.5 13.3 13.7 11.5 Sh  1.8  0.9


Carpalx          381.171 TotalScore    192.445 Distance            left right
                   5.031 SameFinger     14.177 Shift-SameFinger  top 10.1  6.6
  qgmlw byuvßö    67.448 HAlternation   29.065 Shift-Alternation mid 31.6 38.3
  dstnr iaeohä     1.084 In/outward     11.224 IndirKollision    bot  6.7  6.7
  zxcfj kp,.ü     12.358 Adjacent       14.363 Shift-Adjacent    sum 48.4 51.6
                  5.2  8.6 14.1 20.6 --.- --.- 20.6 15.4  9.2  6.4 Sh  1.2  1.6



The Balance12 versions perform very good - although Oneproducts aren't bad either. A weakness of Balance12(_2) is, however, a heavy use of the left or right pinky, since the much used letter N is put there.

The Balance12 layouts resemble AdnW. Therefore, I will make you crazy and give you two more alternatives  :D ;D    Stock AdnW (optimized for 50/50 English/German)  and DvorMax, an AdnW version I calculated, optimized for  for 100% English. PS, I forgot to copy the distribution over fingers for DvorMax, but believe me, it is fine just like AdnW.




AdnW             281.047 Total score    184.270 Distance                left  right
                   1.020 Same Finger     17.224 Shift-Same Finger  tp  4.5 12.0
  kuü.ä vgcljf    71.389 Alternation     21.757 Shift-Alternation  mi 38.3 31.6
  hieao dtrnsß     2.136 In/Outwards      7.795 Indir SameHand     bm  5.0  8.6
  xyö,q bpwmz      8.122 AdjacentKey      20.009 Shift-AdjacentKey sum47.8 52.2
                  7.6 11.2 11.7 17.4 --.- --.- 18.7 10.7 13.1  9.7 Sh  1.9  0.9


DvorMax          261.172 Total score     183.941 Distance        left   right
                   0.882 SameFinger      7.423 Shift-Samefingfer  ob  6.1 13.1
  kyu.ö zlmdpv    65.718 Alternation     28.070 Shift-Alternation  mi 39.5 31.4
  rieao hnstcw     1.016 In/Outward      6.177 IndirKollision      un  3.3  6.5
  xßü,ä jqfgb      8.665 AdjacentKey       9.226 Shift-AdjacentKey  sum 49.0 51.0





Conclusions: all these layouts are fine - minus Qwerty of course  ;D  OneProduct's layouts and the Balance12 layouts are fine. I further gave you 2 alternatives, stock (English/German) AdnW and a pure English AdnW-version. Which does of course better than the German/English optimized one, because optimizing for 1 language will have less compromises than optimizing for a mix of languages.

Comparing DvorMax and  Balance12_2, DvorMax does better on
- SameFinger (0.88 %  !!),
- Distance (you can see this partly in the very high home row use: 39.5 + 31.4 = 70.4 % of all letters typed are on the home row - Balance12 has many letters on the top row, which it sees as good. This is an assumption ), 
- Adjacent Keys
- Balance over hands
- Balance over fingers (I'll  post the metrics later)

Balance12 has a better in/outward ratio and an even higher alternation.


All in all you are looking at some very nice layouts which are all (much) better then Qwerty. The agony of choice....  :D  Try some of them out and let your hands decide which layout they like best. PS, put whatever symbols you want on ßäöü (e.g. /:">)   
« Last Edit: Wed, 29 July 2015, 09:52:40 by PieterGen »

Offline Steven Tammen

  • Thread Starter
  • Posts: 11
Re: Help me decide on my final layout!
« Reply #2 on: Wed, 29 July 2015, 14:04:02 »
Wow, thanks for taking the time to do what I asked and more! I really appreciate it.

I'd like to say it helped me choose instantly... but now I have even more layouts to compare. I've seen you post around quite a bit on GeekHack and the Colemak forums about layouts so I'm glad I got someone with experience tweaking the algorithm. IIRC you made your own Dutch/English layout, which I'm sure is harder than just English because of the split corpus.

I have, however, narrowed it down some now. Bal12 has higher inward rolls than Bal12_2 with similar stats elsewhere, so I feel comfortable crossing off Bal12_2. I'm glad you ran Dvorak/Colemak/QWERTY/Carpalx this time for comparison, but I'd already decided not to use them (though Carpalx seems a lot worse than I thought it was). So that leaves both of Oneproduct's layouts, Bal12, and Dvormax (I don't speak a lick of German, so the AdNW layout would be utterly wasted on me).

I somehow remember thinking you had the MTGAP algorithm as well (you posted on Michael's page at some point... unless there are whole bunch of Pieter's floating around)? I certainly don't want to ask unreasonable things, but I think running through different algorithms probably shows how layouts do with slightly different weighting schemes (e.g., it's no surprise AdNW does really well in the AdNW optimizer). If you have the time to do a run-through of the four I mentioned above (OnepProd, OneProd2, Bal12, Dvormax) with the MTGAP algorithm and perhaps AdNW with the bigram setting instead of the trigram setting, you would make my day (but please don't feel obligated). I'm in no rush either -- I've lived with QWERTY hunt and peck for my whole life thus far, so if takes a couple weeks for you to have time, it doesn't matter to me!

Also, I'd be interested to hear what sort of heuristics you think are important in these analyses since you've obviously been doing this for a while. I like alternations and rolls both, from the (admittedly subjective and unscientific) testing I've done, and know intuitively that low travel distance and low same finger are important as well. I don't care about other things as much, (as long as the pinkies aren't too overloaded). Obviously the importance of such metrics is subjective, but what do you value in your layouts?

Thanks again!
« Last Edit: Sat, 12 December 2015, 16:07:07 by Steven Tammen »

Offline PieterGen

  • Posts: 135
Re: Help me decide on my final layout!
« Reply #3 on: Wed, 29 July 2015, 15:50:51 »
Hi Steven, thjanks for the compliments  :cool:   PS, the DvorMax finger metrics: 8.8/ 8.7/ 14.2 / 17.3 // 15.8 /11.0 / 14.3 /9.9     So that looks good.

I am in an extremely busy period right now, but, as a fellow geek, I totally understand your request and I am kinda curious myself too. I will dive again in MTGAP, but it may take a week or 2 before I find the time for that, hope that is OK.  :D

Your view on algorithms is right: if you test layout X using algorithm Y, the testing results tell as much about layout X as they do about algorithm Y...... Carpalx' algorithm thinks that qwerty locations G and H are as good as the rest of the home row; I do not think so .....

Metrics I think are important:
- low same finger
- low distance
- hand balance (50/50 with no long strings on one hand - I quit my rolly MTGAP layout because it felt unbalanced. it was 60/40 but it felt like the left hand was doing all the work. BTW, yes that was me on Michael's page, nice to see a reaction :thumb:

My view on rolls: they are nice, but not all rolls are created equal. This is a complicated topic, the short version is this:
Two finger rolls: Lousy rolls: ring+ pinky. OK rolls: pinky+middle, middle+index, pinky+index Best roll: ring+index
Three finger rolls: ring, middle, index is good. Anything with a pinky in it is bad.
Four finger rolls suck

It is my feeling that "inward" rolls are only marginally better than outward rolls. If at all. Also, what I found: layouts that have lots of rolls, will have lots of nasty strings. Words like qwerty stewardesses If you put all much used letters on one hand, you will have many rolls and many ugly words. It's like a medicin and side effects. Rolls have ugly strings (stewardesses) as side effect.

As said, when I have time I'll post the MTGAP metrics. Best thing you may do meanwhile is try the layouts out, nothing beats real life trial. A layout that looks great on paper may fall short in real life, and vice versa. Also, there is a pitfall, as one of the guys in the german AdnW-group told me. The risk is seeking for that elusive "perfect layout". It's better to type on a near perfect layout, than to stay in qwerty, searching for Mr/Ms Perfect Layout .....
« Last Edit: Wed, 29 July 2015, 16:02:18 by PieterGen »

Offline Steven Tammen

  • Thread Starter
  • Posts: 11
Re: Help me decide on my final layout!
« Reply #4 on: Wed, 29 July 2015, 16:57:21 »
Just do the MTGAP and AdNW digram statistics anytime -- like I said, there's no rush. A couple more weeks of QWERTY won't kill me. If you would be willing to run one more layout through AdNW trigram (what you used for the last comparison) that would be great -- the new one I'm interested in is Balance 12 but mirrored, with the right pinky getting h instead of n (link to picture and text below).

Balance 12 mirrored

More

Picture: https://goo.gl/photos/Y5a9JTUNYxvYF9Nn6

Text Layout:

~ [ ] # $ % ^ & * { } - +
P L C D W @ U O Y K Q
N R S T M ; A E I H V
Z J F G B ! : < > X

` ( ) 0 1 2 3 4 5 6 7 8 9
p l c d w ' u o y k q
n r s t m , a e i h v
z j f g b ? . " _ x


I'm not very dogmatic about the inward versus outward rolls debate because I really can't touch-type properly yet. What I can say, though, is that it is definitely easier for me to tap my fingers pinky to index than index to pinky. If you take the pinky out of the equation, however, it doesn't seem matter so much (i.e., as long as the pinky isn't in outward rolls, I don't think they're much worse than inward rolls -- especially regarding index/middle). But this is the opinion of someone who really can't touch-type so take it as you will.

In principle, I'm a big fan of alternation. I don't have anything other than philosophical idealism to back it up, but it just "seems" slower to have one hand do all the work, rolly or not, while the other just sits there. I also agree that same-finger is probably the most important thing to minimize (though once you get it "low enough", I think it has diminishing returns as you detract from other parameters). Travel distance is also important too I guess, though I've never probably typed long enough to feel its impact.

Is there an option in AdNW (or a different algorithm) to show the actual rolling percentages rather than a ratio? It seems like you could actually have very few rolls, but just have mostly inward rolls for the ones you did have. That would give you a high ratio, but in reality it wouldn't mean very much. Just curious.
« Last Edit: Sat, 12 December 2015, 16:31:51 by Steven Tammen »

Offline davkol

  •  Post Editing Timeout
  • Posts: 4994
Re: Help me decide on my final layout!
« Reply #5 on: Wed, 29 July 2015, 17:15:59 »
Carpalx' algorithm thinks that qwerty locations G and H are as good as the rest of the home row
Nope. Base = distance from home positions (ASDFJKL;).

Two finger rolls: Lousy rolls: ring+ pinky. OK rolls: pinky+middle, middle+index, pinky+index Best roll: ring+index
Three finger rolls: ring, middle, index is good. Anything with a pinky in it is bad.
(…)
Because the Sholes' hardware legacy sucks.

The risk is seeking for that elusive "perfect layout".
This *and* other criteria.

DSK can be improved (at least UI swap), but at the cost of breaking compatibility with the ANSI standard that's implemented in virtually every mainstream OS and in some keyboards.
Colemak can be improved (at least ModDH or whatever are these things called), but at the cost of breaking compatibility with a layout already implemented in many mainstream OS' and a few keyboards.
_Fingering schemes_ can be improved (e.g., wide&angle mods), but at the cost of breaking compatibility (see above) *and* muscle memory on others' keyboards *and* compatibility with superior hardware made for human hands, not the other way around.

In addition, there's that "ease of learning" fad. I wonder how many people are actually using Minimak, Norman, that weird thing from the other thread, etc. altogether. And the ZXCV thing. How long does one actually spend learning to type on a new layout? A few weeks. Will an "easy-to-learn" layout interfere with ones QWERTY skills? Probably—the hatred directed towards QWERTY/QWERTZ/AZERTY is *very* strong in many users of "the other" QWERTY variant—but noone knows for sure. Meanwhile, there's this _leveling effect_ observed in proficient typists' keyboarding as well. Does one aim to become a proficient typist, or is the good-enough plateau, well, enough? DSK was designed to make advantage of that effect.

The ZXCV thing. Yeah. Keep it in place for what benefit? Oh, I see. One handed copypasta chords are unaffected. Are we rather copyists than typists? Can't we sacrifice a little bit of efficiency at copying in order to learn superior skills? The workflow generally isn't just typing and copying. Well-implemented macros, text expansion, you name it—that's all a huge deal, if taken advantage of.

And back to learning again. Do I prefer rolls? Hand alternation? Something else, whatever it should be? That doesn't make sense without plenty of resources put in analysis (requiring proper medical equipment and all that jazz). It's a matter of training in the first place. I've tried DSK for a week, after using Colemak for more than three years. My brain had to be completely rewired for the new kinds of motions. Long-term DSK users apparently have the same issue with Colemak-like movements. But it can be changed simply by practice.

/rant
« Last Edit: Wed, 29 July 2015, 17:24:27 by davkol »

Offline Oobly

  • * Esteemed Elder
  • Posts: 3929
  • Location: Finland
Re: Help me decide on my final layout!
« Reply #6 on: Fri, 31 July 2015, 08:23:24 »
Hope you don't mind me throwing this in here:

Changing character layouts has less ergonomic benefit than changing physical layouts.

In light of this, finding the *perfect* character layout for yourself on a standard board seems a little bit of a wasted effort, IMHO.

Please allow me to explain: If, once you've perfected your layout, you then switch to a more ergonomic physical layout you'll find that your layout will need adjusting to slightly different weighted factors, such as using Shift on a thumb, for instance. So you'll have to once again redesign your layout to get the perfect *combination* of physical and character layouts for you. Also, learning a new layout on a normal qwerty board tends to reduce your normal qwerty skills during the transition and possible even afterwards, so using a colleague's PC can be a bit of a pain.

So I advocate rather only worrying about character layouts once you've found a physical layout that suits you best. That way you keep your qwerty skills and end up with the ultimate keyboard for yourself with only one new layout training period.

Simply adjusting your typing habits on a normal board can bring major improvements in reduction of RSI or other typing-related stresses, strains and injuries, despite the very imperfect and impractical design.

That said, I've found the AdNW-based layouts to suit me very well. I use a modified version of the BU-Teck variant targeted more to English-only to be very nice to use on my ergo board. Along with using layers and hardware arrow keys I'm very happy with it.
Buying more keycaps,
it really hacks my wallet,
but I must have them.

Offline Steven Tammen

  • Thread Starter
  • Posts: 11
Re: Help me decide on my final layout!
« Reply #7 on: Fri, 31 July 2015, 19:48:29 »
Thanks for the advice Oobly.

I've already thought a fair bit on the type of keyboard I'm getting, and I am holding out either for the Axios, Keyboardio, or the revised version of the Kinesis Advantage (depending on how each respectively turns out). I'm not accomplished enough at soldering, 3d printing, or what have you to build a board of my own like you have -- though this would probably be ideal if I had the time to teach myself such things (I don't, at least for now).

I'd be interested to see your modified BU-Teck layout since I'm "in the market" for one. From what I've been able to grasp from the AdNW site (through the lens of Google translate), I like its methodology best out of all the optimizers, though I disagree slightly on a couple of their roll penalties. I like MTGAP decently well too, and am not a big fan of Carpalx (optimization on staggered layouts, as you said, seems a bit pointless). Statistics also appreciated, if possible.
« Last Edit: Sat, 12 December 2015, 16:23:46 by Steven Tammen »

Offline Steven Tammen

  • Thread Starter
  • Posts: 11
Re: Help me decide on my final layout!
« Reply #8 on: Sat, 29 August 2015, 18:34:47 »
@PieterGen

Any news on the MTGAP analysis? All the new ergonomic keyboards are getting closer to release, so time is ticking on that front. I'm also just curious.
« Last Edit: Sat, 12 December 2015, 16:25:04 by Steven Tammen »

Offline Oobly

  • * Esteemed Elder
  • Posts: 3929
  • Location: Finland
Re: Help me decide on my final layout!
« Reply #9 on: Mon, 31 August 2015, 07:33:47 »
Since you're planning on getting an ergonomic physical layout, you should plan the character layout for the physical design. Most of the analysers in their default form are designed for the standard horizontal stagger, although some can be configured for custom physical layouts, like patorjk an AdNW. The AdNW analyser is particularly good in that you can adjust the weighting of each criteria as well.

I don't have any stats for it (although it does very well in all the analysers I've tried), but this is my layout:

109944-0

Layer button pressed (Esc, Del, thumb, arrow and edit clusters unaffected):
Code: [Select]
| * < > ^          [ ] % &
\ ! ( ) +        = { } ? /
  @ # ;            : $ ~

Layer + Shift pressed (Esc, Del, thumb, edit cluster unaffected, left arrow changes to 0, up changes to .):
Code: [Select]
F1  F2  F3  F4  PrntScr          /    7 8 9   -
F5  F6  F7  F8  ScrLock          *    4 5 6   +
F9  F10 F11 F12 Pause          Insert 1 2 3 Enter
                                      0 .

I based it around the BU-Teck layout because that one has been designed and optimised around having vertically staggered columns and thumb Shift, like my own. The biggest differences are based on optimising it a bit more for English rather than a mix of English and German and reducing the total number of keys to match my keyboard design. It's based a lot more on alternation than rolls, though, so I think you could come up with something a little different for yourself that has more rolls bias. In terms of optimising even further, the left ring finger and right pinkie could have their usage reduced just slightly, but in actual use it's perfectly fine.

Here's a version you can import into patorjk:
Code: [Select]
{
    "label": "Oobly_Ergo",
    "fingerStart": {
        "1": 29,
        "2": 30,
        "3": 31,
        "4": 32,
        "5": 67,
        "6": 74,
        "7": 35,
        "8": 36,
        "9": 37,
        "10": 38,
        "11": -1,
        "false": -1
    },
    "keyboardType": "ergodox",
    "author": "Stephen Keen",
    "authorUrl": "",
    "moreInfoUrl": "",
    "moreInfoText": "",
    "keys": [
        {
            "primary": -1,
            "finger": 1,
            "id": 0,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 27,
            "shift": -1,
            "finger": 1,
            "id": 1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 2,
            "id": 2,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 3,
            "id": 3,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 4,
            "id": 4,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 4,
            "id": 5,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 4,
            "id": 6,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 7,
            "id": 7,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 7,
            "id": 8,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 7,
            "id": 9,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 8,
            "id": 10,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 9,
            "id": 11,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 10,
            "id": 12,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 10,
            "id": 13,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 1,
            "id": 14,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 98,
            "shift": 66,
            "finger": 1,
            "id": 15,
            "altGr": 124,
            "shiftAltGr": -1
        },
        {
            "primary": 117,
            "shift": 85,
            "finger": 2,
            "id": 16,
            "altGr": 42,
            "shiftAltGr": -1
        },
        {
            "primary": 44,
            "shift": 60,
            "finger": 3,
            "id": 17,
            "altGr": 60,
            "shiftAltGr": -1
        },
        {
            "primary": 46,
            "shift": 62,
            "finger": 4,
            "id": 18,
            "altGr": 62,
            "shiftAltGr": -1
        },
        {
            "primary": 113,
            "shift": 81,
            "finger": 4,
            "id": 19,
            "altGr": 94,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 4,
            "id": 20
        },
        {
            "primary": -1,
            "finger": 7,
            "id": 21
        },
        {
            "primary": 112,
            "shift": 80,
            "finger": 7,
            "id": 22,
            "altGr": 8364,
            "shiftAltGr": -1
        },
        {
            "primary": 99,
            "shift": 67,
            "finger": 7,
            "id": 23,
            "altGr": 91,
            "shiftAltGr": 55
        },
        {
            "primary": 108,
            "shift": 76,
            "finger": 8,
            "id": 24,
            "altGr": 93,
            "shiftAltGr": 56
        },
        {
            "primary": 109,
            "shift": 77,
            "finger": 9,
            "id": 25,
            "altGr": 37,
            "shiftAltGr": 57
        },
        {
            "primary": 102,
            "shift": 70,
            "finger": 10,
            "id": 26,
            "altGr": 38,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 10,
            "id": 27,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 1,
            "id": 28,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 104,
            "shift": 72,
            "finger": 1,
            "id": 29,
            "altGr": 92,
            "shiftAltGr": -1
        },
        {
            "primary": 105,
            "shift": 73,
            "finger": 2,
            "id": 30,
            "altGr": 33,
            "shiftAltGr": -1
        },
        {
            "primary": 101,
            "shift": 69,
            "finger": 3,
            "id": 31,
            "altGr": 40,
            "shiftAltGr": -1
        },
        {
            "primary": 97,
            "shift": 65,
            "finger": 4,
            "id": 32,
            "altGr": 41,
            "shiftAltGr": -1
        },
        {
            "primary": 111,
            "shift": 79,
            "finger": 4,
            "id": 33,
            "altGr": 43,
            "shiftAltGr": -1
        },
        {
            "primary": 100,
            "shift": 68,
            "finger": 7,
            "id": 34,
            "altGr": 61,
            "shiftAltGr": -1
        },
        {
            "primary": 116,
            "shift": 84,
            "finger": 7,
            "id": 35,
            "altGr": 123,
            "shiftAltGr": 52
        },
        {
            "primary": 114,
            "shift": 82,
            "finger": 8,
            "id": 36,
            "altGr": 125,
            "shiftAltGr": 53
        },
        {
            "primary": 110,
            "shift": 78,
            "finger": 9,
            "id": 37,
            "altGr": 63,
            "shiftAltGr": 54
        },
        {
            "primary": 115,
            "shift": 83,
            "finger": 10,
            "id": 38,
            "altGr": 47,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 10,
            "id": 39,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 1,
            "id": 40,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 107,
            "shift": 75,
            "finger": 1,
            "id": 41,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 121,
            "shift": 89,
            "finger": 2,
            "id": 42,
            "altGr": 64,
            "shiftAltGr": -1
        },
        {
            "primary": 39,
            "shift": 34,
            "finger": 3,
            "id": 43,
            "altGr": 35,
            "shiftAltGr": -1
        },
        {
            "primary": 45,
            "shift": 95,
            "finger": 4,
            "id": 44,
            "altGr": 59,
            "shiftAltGr": -1
        },
        {
            "primary": 120,
            "shift": 88,
            "finger": 4,
            "id": 45,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 4,
            "id": 46
        },
        {
            "primary": -1,
            "finger": 7,
            "id": 47
        },
        {
            "primary": 106,
            "shift": 74,
            "finger": 7,
            "id": 48,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 103,
            "shift": 71,
            "finger": 7,
            "id": 49,
            "altGr": 58,
            "shiftAltGr": 49
        },
        {
            "primary": 119,
            "shift": 87,
            "finger": 8,
            "id": 50,
            "altGr": 36,
            "shiftAltGr": 50
        },
        {
            "primary": 118,
            "shift": 86,
            "finger": 9,
            "id": 51,
            "altGr": 126,
            "shiftAltGr": 51
        },
        {
            "primary": 122,
            "shift": 90,
            "finger": 10,
            "id": 52,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 10,
            "id": 53,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 1,
            "id": 54,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 1,
            "id": 55
        },
        {
            "primary": -1,
            "finger": 2,
            "id": 56
        },
        {
            "primary": -1,
            "finger": 3,
            "id": 57
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 4,
            "id": 58,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 7,
            "id": 59,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": 48
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 8,
            "id": 60,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 9,
            "id": 61,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "shift": -1,
            "finger": 10,
            "id": 62,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 10,
            "id": 63
        },
        {
            "primary": -1,
            "finger": 5,
            "id": 64,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 5,
            "id": 65,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -18,
            "finger": 5,
            "id": 66,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 16,
            "finger": 5,
            "id": 67,
            "shift": -16,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 8,
            "finger": 5,
            "id": 68,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 9,
            "finger": 5,
            "id": 69,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 6,
            "id": 70,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": -1,
            "finger": 6,
            "id": 71,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 13,
            "finger": 6,
            "id": 72,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 32,
            "finger": 6,
            "id": 73,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 17,
            "finger": 6,
            "id": 74,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        },
        {
            "primary": 18,
            "finger": 6,
            "id": 75,
            "shift": -1,
            "altGr": -1,
            "shiftAltGr": -1
        }
    ]
}
Buying more keycaps,
it really hacks my wallet,
but I must have them.