• You are not logged in.
  • Index
  • General
  • New multi-lang layout - suited for English, German, Dutch, French ...

    New multi-lang layout - suited for English, German, Dutch, French ...

    • Started by rpnfan
    • 3 Replies:
    • Reputation: 2
    • Registered: 04-Sep-2022
    • Posts: 10

    I like the design goals of Colemak, but found that it does not work that good for non-english languages:

    https://forum.colemak.com/topic/2328-an … languages/

    When one writes significant amounts in non-english languages an improved layout which is more robust to be used with different languages is needed IMO. [1]
    I tried to come up with a layout which follows the same design goals as Colemak, but achieves that improvement. My suggested layout was developed totally independent from Colemak, but in the end it looks relatively close to Colemak. That is to be expected, because I followed the same restrictions (not too many key changes, very few hand changes, keep zxcv shortcuts...)

    I came up with a layout which has roughly the same performance results in layout analyzers like Colemak for English, but is vastly improved for other languages. In addition the "DH-problem" that part of the people experience in vanilla Colemak to have to stretch the index finger to the center , is avoided as well.

    The basic character layout looks like that:

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

    On an non-english keyboard the non-char keys or special char keys could be kept like in the native layout. For example in German the layout would then look like follows and keep most umlauts and special chars in their original locations:

    1  2  3  4  5  6  7  8  9  0  ß ´
    y  w  d  f  ö  q  l  o  u  p  ü  +
    a  r  t  s  g  j  n  e  i  h  ä
    z  x  c  v  b  -  m  ,  .  k

    I think the following analyzer results indicate that the layout does achieve my design goals and is a serious improvement over Colemak-(DH) for German, Finnish, French, Spanish,  and Dutch (I manually checked that there are not ugly bigrams for Dutch), while largely keeping the good English performance! [2]


    The following table lists the traditional keyboard and fingering. Other keyboards (ergonomic, Matrix) have slightly different numbers, but typically do not change that much.

    Language  sf-bigrams     score     left/right
    English      1.85%        1.8        45 55
    English      1.7%         1.8        45 55      - alternative fingering
    Finnish      2.25%        1.8        40 60
    German       2.4%         1.7        46 54
    French       2.6%         1.7        44 56
    Spanish      2.7%         1.8        46 54
    Danish       2.8%         1.8        47 53
    Swedish      2.8%         1.8        50 50
    Polish       4.2%         2.2        50 50

    and in comparison Colemak

    Language  sf-bigrams     score     left/right
    English      1.7%         1.8        45 55
    German       5.0%         1.8        47 53
    Finnish      3.7%         1.7        40 60
    French       3.6%         1.7        48 52
    Spanish      3.2%         1.8        49 51
    Danish       4.3%         1.8        48 52
    Swedish      4.1%         1.8        52 48
    Polish       3.8%         2.0        49 51

    For most tested non-english languages my layout suggestion is better than Colemak. Only for Polish Coleman "wins".

    My suggested layout is pretty robust in that sense that one can move some letters around (with some thought and possibly double-checking in the analyzers) and optimize for personal  preferences or the most used local language(s). Possibly the layout could be optimized to perform better for Polish, but still keep the good English performance (mostly). For example moving the z. That will likely be at the cost of other languages of course, but could be interesting for Polish people. :-)

    In general possible layout variations are changing the left hand home-row order from 'arts' to 'astr' or 'arts' (the latter only for non-German languages, because otherwise one would get an not so nice SFB with sc). Although in the current layout 'arts' performs best overall.

    Another possible variation is to move b, q, y, ; (ö-key for Germans). Here y should be kept on the left side, to keep bigrams low.

    j could be moved for non-Dutch languages (for Dutch it is critical to keep it in the middle row when k is on the bottom row!). p could also be moved (ph is a bigram, but not that often that it does hurt that much) possibly, but overall I found that it is best to keep it in place.

    In general I decided to keep a letter in the qwerty position when a change did gain only very little or seems to make the layout less robust.

    Critical for the performance is the right hand side with 'lou' on the top row above 'nei'. This must not be changed and is a significant difference to the Colemak layout. I think that's the heart of my layout suggestion, which makes it suitable for several latin-char languages.

    I have tried earlier versions of the layout a bit for some days and optimized it till I reached this state. I think it will be very hard to improve on that layout when one does not want to degrade the performance overall. If you can come up with global improvements I surely would like to hear those!

    For a combination of two specific languages (especially others than German-English) a (slightly) modified layout can likely perform a bit better. See the example above for Polish especially, but maybe also for the northern languages -- which I do not speak / need.

    When someone wants to try that layout I think it really might be worth it. Especially if you write English plus any combination of French, Spanish, German, Finnish or Dutch. I personally now started to learn that layout. Btw, this is the first layout change in my life. I come from 80 wpm with qwerty and hope to achieve the same or higher speed in the not too far future! :-)   But first days practice are not easy for sure!

    Possibly I will give a name to the layout. Maybe something like MultiMax as nod to the ..maks layouts, but also pointing in the direction that it's optimized for multiple languages and tries to achieve a close to maximum benefit with not too high efforts :-)

    [1]
    In addition I think that Colemaks multi-language input via the AltGr key is not a viable solution for everyday typing non-english languages (when touch typing blind -- I do not care about hunt and peek typing concepts). Especially because the AltGr-key can not be reached reliable with the thumb or pinky on many keyboards. It is a key which often moves in relation to the hand position for example between desktop and laptop keyboards. I think a layout must be robust in the sense that it can be used on ANSI and ISO keyboards and also work fine with the often somewhat altered laptop key positions.

    I tried to get the most used characters for the European languages on the strong fingers. I consider the middle finger especially strong (also in the upper row and bottom I think it is a fairly easy key to press)


    [2]
    When I was looking for a good layout I had a look at the common bigrams and did not only look at the same-finger-bigram (SFB) numbers, but took a closer look to try to avoid the really ugly SFB's, like needing to jump with from top to bottom like (qwerty tv or qwerty qz). I think bigrams on strong fingers like qwerty de, ki, lo are not that much of a real problem for example.

    Offline
    • 1
    • Reputation: 2
    • Registered: 04-Sep-2022
    • Posts: 10

    Not much feedback on my original post ;-)

    I can give an update now about my learning progress and findings after two months.

    I will post my experience about how to learn the layout in the relevant category. But the main point I want to make here is that the layout indeed seems to work quite well for the targeted languages. _But_ there is a huge catch. Although it is much better than qwerty it still has serious shortcomings -- which btw. are similar to the shortcomings of Colemak IMO. I found that when I gained a bit speed (200 to 250 characters / minute ~ 40 to 50 wpm) it got cumbersome on the right hand. There are too many words or large parts of words which need to be typed only on one hand. This makes it more error-prone and tiring compared to a layout which would have more hand changes.

    I wanted to understand what is "wrong" with my layout and used the analyzer (called opt)  from www.adnw.de. This analyzer gives detailed results and can be configured in detail to match personal preferences. I did not change the default parameters, which affect the calculated effort, but focused to have a look on the objective metrics like same-finger-bigrams, hand changes, relation of inward and outward rolls, neighboring finger use...

    I found that my layout has only about 55% hand changes, compared to around 70 % for a layout like AdNW or Koy. Colemak also has around 55 % only. My aim was to try to find a layout which follows the same design ideas like Colemak, but improves for other languages. The idea behind Colemak is to change not too many keys, to make learning easier. That is good. It also turned out to be true that every key I have to learn new (changes place) takes extra efforts to learn and ingrain. So that implies Colemak or my layout would be a good idea in general. Indeed it is when one cares for learning to a large degree. _But_ now when I got a bit to speed I found that I wanted a layout which is even better and which is possible btw. The effort to learn a new layout is serious. But honestly it does not matter that much to me if it takes two or three months to learn it before hitting the 40wpm mark, because I will by typing a lot and want that typing to be as effortless as possible. I practiced only 15 minutes a day for two months. To learn a fully optimized layout I think it will take me 3 or 4 months 15 minutes each day. That is fine. See my experience report I will post.

    Keeping shortcuts (xcvz-keys) would be "nice". But if that is important to someone one can just keep the shortcuts in the original position, regardless where the characters are typed. Likely it is even better to put the most used shortcuts like cut/copy/paste and others in a home-row position anyways.

    So in summary. I think it makes sense to either stick with qwerty or make only a mini-fix (I now would swap n-j and ;-h  [ö-h on a Germany keyboard] keys only) or go the full way to a completely optimized layout. That is at least my thinking before I succeeded to learn a fully optimized layout.

    Here the results of the analyzer for an even mixture of English, German and Dutch. One can ignore the finger efforts (right side), or take them as a first idea when the default weightings seem to fit your perception too. I personally would put higher "cost" to the gh keys for example.

    Legend for english speaking people

    un = unten → lower row
    mi = mitte → middle row
    ob  = oben → upper row (you guessed it)
    benachbart   = neighbouring fingers
    Ein-/Auswärts = relation inwards to outwards roll, higher is better, theoretical maximum is something in the range of 2.3
    Handwechsel     = hand changes, theoretical maximum is around 73 %
    Kollisionen  = same finger bigrams (SFB)    
    Minimaks14-15    444.871 Gesamtaufwand  198.779 Lageaufwand        links rechts
                       2.252 Kollisionen     10.916 Shift-Kollisionen  ob  8.9 13.2
      zwdfj qloukü    54.577 Handwechsel     43.500 Shift-Handwechsel  mi 27.8 35.7
      artsg pneihä     1.391 Ein-/Auswärts   39.444 Ein- oder auswärts un  7.6  7.0
      yxcvb öm,.ß     22.119 benachbart      15.391 Shift-benachbart  sum 44.2 55.8
                      9.6  7.9 13.7 13.1 --.- --.- 16.1 20.9 10.9  7.9 Sh  1.5  2.3
    ⇒ my latest layout incarnation fares pretty well, but could be better as explained.
    
    
    bone             443.744 Gesamtaufwand  210.002 Lageaufwand        links rechts
                       2.205 Kollisionen      2.228 Shift-Kollisionen  ob 14.5 12.9
      jduax phlmwß    61.839 Handwechsel     34.576 Shift-Handwechsel  mi 36.2 24.3
      ctieo bnrsgq     1.041 Ein-/Auswärts   32.228 Ein- oder auswärts un  5.3  6.9
      fvüäö yz,.k     12.168 benachbart       4.439 Shift-benachbart  sum 56.0 44.0
                      6.4 12.7  9.8 27.0 --.- --.- 16.6 10.9  9.0  7.5 Sh  2.0  1.8
    ⇒ successor of the german optimized Neo layout, better than Neo, but still some shortcomings IMO.
    
    Colemak          449.128 Gesamtaufwand  193.710 Lageaufwand        links rechts
                       2.634 Kollisionen     14.220 Shift-Kollisionen  ob  7.1  7.8
      qwfpg jluyßö    54.380 Handwechsel     44.063 Shift-Handwechsel  mi 29.7 39.2
      arstd hneioä     1.234 Ein-/Auswärts   39.259 Ein- oder auswärts un  7.7  8.6
      zxcvb km,.ü     20.872 benachbart      10.449 Shift-benachbart  sum 44.4 55.6
                      8.9  7.9  9.3 18.3 --.- --.- 20.4 18.5  8.8  7.9 Sh  1.4  2.3
    ⇒ not too different from my layout. Same shortcomings indeed. 
    
    QWERTZ           705.653 Gesamtaufwand  345.177 Lageaufwand        links rechts
                       8.250 Kollisionen      8.828 Shift-Kollisionen  ob 29.7 17.2
      qwert zuiopü    50.122 Handwechsel     51.472 Shift-Handwechsel  mi 20.5  9.8
      asdfg hjklöä     1.033 Ein-/Auswärts   37.902 Ein- oder auswärts un  7.5 15.3
      yxcvb nm,.ß     24.532 benachbart       9.970 Shift-benachbart  sum 57.7 42.3
                      8.8  7.1 21.7 20.2 --.- --.- 18.6  9.4 10.0  4.3 Sh  1.4  2.3
    ⇒ the "bad" reference, haha ;-)
    
    PUQ30            402.856 Gesamtaufwand  193.119 Lageaufwand        links rechts
                       1.715 Kollisionen      6.335 Shift-Kollisionen  ob  5.2 12.6
      puö,q gclmfü    69.566 Handwechsel     26.686 Shift-Handwechsel  mi 37.3 31.6
      hieao dtrnsä     1.824 Ein-/Auswärts   24.992 Ein- oder auswärts un  5.9  7.3
      ky.ßx jvwbz      9.672 benachbart      20.315 Shift-benachbart  sum 48.5 51.5
                      9.1 10.3 16.2 12.8 --.- --.- 18.2 11.5 12.4  9.4 Sh  2.5  1.3
    ⇒ a layout for 30 keys only where the umlauts and other diacritics are realized with
    a single compose/diacritics-key. I think this is the way to go. For sure for people who need diacritics. 
    
    Aus der Neo-Welt 384.886 Gesamtaufwand  186.184 Lageaufwand        links rechts
                       1.292 Kollisionen      5.703 Shift-Kollisionen  ob  5.8 12.1
      kuü.ä vgcljf    70.912 Handwechsel     24.739 Shift-Handwechsel  mi 37.3 31.5
      hieao dtrnsß     1.813 Ein-/Auswärts   24.069 Ein- oder auswärts un  4.4  9.0
      xyö,q bpwmz      9.267 benachbart      21.642 Shift-benachbart  sum 47.4 52.6
                      7.9 10.3 15.2 14.1 --.- --.- 18.3 10.2 14.5  9.6 Sh  2.6  1.2
    ⇒ honestly, when you see this performance and also see the graphs (see the 
    homepage at adnw.de) and my attachement, I do not understand why one would look at
    layouts which perform surely significantly worse.
    
    
    KOY              393.685 Gesamtaufwand  188.112 Lageaufwand        links rechts
                       1.541 Kollisionen      5.703 Shift-Kollisionen  ob  9.3 10.8
      k.o,y vgclßz    70.912 Handwechsel     24.739 Shift-Handwechsel  mi 34.9 32.9
      haeiu dtrnsf     1.807 Ein-/Auswärts   23.820 Ein- oder auswärts un  3.2  8.8
      xqäüö bpwmj      9.931 benachbart      21.109 Shift-benachbart  sum 47.4 52.6
                      7.9  7.9 20.1 11.5 --.- --.- 18.3 10.2 14.5  9.6 Sh  2.6  1.2
    ⇒ a variation of AdnW, but with a home-row where ei are placed on the stronger fingers.
     An improvement for German for sure. 
    
    
    XOY              396.565 Gesamtaufwand  189.679 Lageaufwand        links rechts
                       1.541 Kollisionen      5.703 Shift-Kollisionen  ob  7.9 10.6
      x.o,y vgcljß    70.912 Handwechsel     24.739 Shift-Handwechsel  mi 34.9 32.9
      haeiu dtrnsf     1.807 Ein-/Auswärts   23.820 Ein- oder auswärts un  4.6  9.0
      kqäüö bpwmz      9.931 benachbart      21.109 Shift-benachbart  sum 47.4 52.6
                      7.9  7.9 20.1 11.5 --.- --.- 18.3 10.2 14.5  9.6 Sh  2.6  1.2
    ⇒ slight variation of Koy, good for ergonomic keyboards like Microsoft Sculpt
    
    
    Finally my new layout suggestion:
    XOY31-10         405.045 Gesamtaufwand  196.074 Lageaufwand        links rechts
                       1.669 Kollisionen      5.710 Shift-Kollisionen  ob  9.6 14.0
      q.ouy vdcljf    70.912 Handwechsel     24.739 Shift-Handwechsel  mi 32.3 29.6
      haeiö gtrnsß     1.835 Ein-/Auswärts   23.691 Ein- oder auswärts un  5.5  9.0
      kxäü, bpmwz     10.052 benachbart      20.047 Shift-benachbart  sum 47.4 52.6
                      7.9  8.0 20.1 11.5 --.- --.- 18.3 11.0 13.6  9.6 Sh  2.6  1.2
    ⇒ my attempt to finetune the Xoy-Layout for my personal preferences.

    My latest layout idea XOY31-10 (or QOUY as you could call it) has basically the same objective performance like XOY, besides a slightly higher SFB (Kollisionen). This is due the fact that I switched w and m from Xoy-Layout. That brings the m on the stronger middle finger at the cost of slightly higher SFB, which I think is worthwhile here. For the rest I mainly changed u and d to get to the top row index finger instead to the center position. Also it only uses 31 keys. I decided to leave the f-key on the right side, instead of creating an only 30-key char-layout. This helps to keep the hand changes very high. The ö-key represents the compose/diacritics-key. The ß-key represents the right side Mod3-key which is symmetrical to the Mod3-key on the CapsLock-position (not shown here). The characters äü shown above will not be used, but will serve for punctation characters. I have not decided exactly what to put there. Likely : " and ' or something like that. The comma I likely will place on the shifted .-position.

    I will not copy the 6 Neo layers, because I think the important characters (\/[]{}<> and so on) _and_ navigation should be accessible from the home-row easily. That means I must use the third (Mod3) layer for all of that. Other layers can be used, but just in addition. For example for a number pad, greek or math chars, but might not be used from a home-row position, which I think is o.k. for a character that is only used "once in a while".

    In the evaluation it looks my new layout-suggestion would have higher finger efforts than XOY. This is only true for the default weighting factors of the opt analyzer. When one does favour the ru (qwerty) keys over the gh-keys my changed layout will have lower perceived finger efforts for those people in fact. I just did not bother to change the weightings for this comparison. :)

    Have a look at the attached graphics. That gives a pretty good idea how each layout feels and why Colemak or my original layout idea (original post) is better than qwerty, but still lacks, especially on the right hand side.

    Looking forward to hear your thoughts on my process and conclusions! :-)

    Last edited by rpnfan (20-Nov-2022 22:27:58)
    Attachments:
    Offline
    • 0
    • Reputation: 187
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,259

    "Hand changes" is usually called hand alternation in the alt-layout community. Dvorak has a lot, Colemak has less because it focuses on rolls instead. Some of the world's fastest typists have noted that Dvorak's alternation gets annoying at top speeds, but it's certainly possible to type fast with it as witnessed by several typists.

    So you shouldn't think that higher hand alternation is objectively better than Colemak's rolls. Many think the opposite after trying both, and the answer may be up to individual preferences as well.

    Newer analysis takes into account different types of rolls as well: Redirects, for instance. I believe the ADNW analyzer is quite old? But you seem to think it does better?

    Last edited by DreymaR (09-Nov-2022 00:10:11)

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

    Offline
    • 0
    • Reputation: 2
    • Registered: 04-Sep-2022
    • Posts: 10

    Good point that hand alteration is not automatically better than rolls and that this can also be preference. What I was surprised is that the ratio of inward to outward rolls is relatively low for Colemak, because I remembered that the idea was to favour rolls. AdNW has a significantly higher ratio, which I think is objectively better. If this outweighs possible other costs is another question.

    Regarding the age of the AdNW analyzer (opt). Yes, it is around for some time, but I think age is not important here. I was focusing on the objective metrics (left side of the number table), which I think everybody will agree that they will play a role. How to factor the different metrics in relation to each other is the big question for sure.  But when I compare AdNW and Colemak I see that AdNW is better in all parameters.

    What I am not aware if opt takes care of is if it is counting how many "nice rolls" you get and if other analyzers spit out those numbers. Also for SFB's I am not sure how they are counted exactly, because it is a huge difference if that is a SFB on a pinky going from the top to the bottom row or the middle finger going from the top to the middle row (like e-d in qwerty), which I find is a rather harmless, I might even say "pleasant" SFB -- which still will cost a bit of time compare to hand-alteration or rolls, but feels not awkward IMO.

    I think that AdNW is objectively better than Colemak, when I look at those objective values:

    SFB: less then half (for the three languages, English, German and Dutch mixed)
    Hand alterations: much higher -- although you are right that rolls can be very comfortable which will not show up here. But in general a hand alteration will never be a really ugly finger movement. That I think everybody will agree as well. So at least hand-alteration is good, even when one can consider a roll better.
    Inward to out rolls ratio: again AdNW has a higher ratio then Colemak
    neighboring fingers: also AdNW has only about the half of Colemak -- also objectively better -- especially on the pinky and ring-finger.

    Then finally looking at the plots of the finger movements one sees how "calm" compared AdNW is to most other layouts. The left side of Colemak looks and feels good IMO, but the right side is pretty busy. And that was what I felt as not optimal in my layout -- which is in that sense very close to Colemak.

    Finally when you use other analyzers (like Steve's updated web version), AdNW scores close to the top there as well. When you use the one from Arne Babenhauserheide it is the same and AdNW scores very high. I have not found an analyzer where AdNW did not score first or is close to the top. That is even true for different languages. Surely for English and German, but also some others. From that I get the impression that the layout seems pretty close to an optimum and also robust in the sense that it is not optimized for one type of texts or language only. Even different weightings of different analyzers do not seem to make a significant difference.

    I knew that before I came up with my Colemak-like layout. But I thought that the difference to qwerty to Colemak or my layout will be really significant, while the difference between Colemak and AdNW will be small. For sure the gain from qwerty to Colemak is larger than from Colemak to AdNW, but nonetheless I now think that what you gain with AdNW (or similar like KOY, PUQ...) is still relevant enough to decide for it. I can let you know in a few months if I still think that or reverted to my layout or to qwerty or will want to start stenography or just use audio dictation ;-)

    EDIT 2022-11-19:
    I found that Andreas, who wrote the optimizer software used for AdNW, had a look at variations of qwerty/qwertz layouts. Basically with the same thoughts like Colemak or Minimak and a few other "minimalist" layouts. I find that an interesting read and it confirms what I have found out by myself. One needs roughly to change 15 or a few more keys to make significant improvement of layout performance compared to qwerty. By then a layout is somehow similar to qwertz, but takes a serious amount of time to learn it already. Still one is stuck with an "o.k.-layout", but will not reach a really good layout IMO.

    Here the link to Andreas' work: https://509.ch/wimp.htm

    My conclusion so far is that you have the following options:
    a) stay with qwerty
    b) change just two or three keys - very easy to learn and you already get a good gain for very little effort
    c) use a layout which changes about 8 keys - this will improve quite a bit more, but will already require some learning efforts.
    d) learn an optimized qwerty-close layout with about 15 to 18 key changes (like Colemak) -- high learning effort and high chance of making mistakes when typing in qwerty, because the layouts are too similar and to different at the same time
    e) learn a fully optimized layout - advantage: getting close to theoretical maximum and likely easier to maintain qwerty-skills, because the layouts will be totally different and not having overlap, which likely can lead to more confusion.

    My current thinking is that a), possibly b) will be most interesting or invest a bit more time (I guess 20 to 30 hours practice time) to switch to a fully optimized layout, instead of investing 10 to 15 hours to switch to a qwerty-close layout like Colemak or the layout I introduced above.

    In any case IMO it is more important to improve typing comfort in the following order:

    1a) ergonomic (means split/ angled, possibly columnar) keyboard
    1b) easy access to all relevant characters and symbols from home-row position, plus navigation from home-row position
    2) then to max out possibly approach b) or e) when one is willing to invest the learning time

    I personally think that the middle-approach of Colemak is a good idea in general, that was the reason I followed the same path, but in the end it's wiser to either stay with qwerty or invest that bit more to get to a fully optimized layout. That can include to make minor adaptions for the own use -- for example when programming taking care that the relevant symbols for the particular language are in the best possible positions.

    Last edited by rpnfan (19-Nov-2022 16:30:51)
    Offline
    • 0
      • Index
      • General
      • New multi-lang layout - suited for English, German, Dutch, French ...