• You are not logged in.
  • Index
  • General
  • Need advice: swapping `Q` and `M` on mod-DH?

    Need advice: swapping `Q` and `M` on mod-DH?

    • Started by Julien__
    • 9 Replies:
    • Reputation: 1
    • Registered: 09-Jan-2017
    • Posts: 8

    Hello everyone,

    I switched from Dvorak to a variant of Colemak-DH angle-mode wide + programmer symbols + french accents a few days ago because Dvorak has too much SFU (same finger utilization) for my taste. I'm very happy with the mod-DH because I really dislike using the middle columns. When I was using Dvorak, I made changes (Dg Ui) to reduce their utilization.

    However, I find myself using quite a lot the `m` key which is on one of those dreaded middle column... Any idea where I could move it to?

    I'm okay with increasing a little the SFU (same finger utilisation) as long as it remains much lower than Dvorak's. And I don't mind moving further away from qwerty (I mean, I come from Dvorak anyways)

    I thought about swapping `m` and `w` because when I program (and when I type french, I'm french) I use almost no `w`. If I do so, then it would require a special typing technique for `wh` where you move your hole hand one key to the left, then type `w` with the index-finger and `h` with the middle-finger before returning to normal resting position. It feels very natural to me, kind of like playing the piano. Also, I think (but I'm not sure) most of my use of `w` in english is paired with an `h` for "wh"-words (such as "what", "why", etc.) so it could be a win-win since I noticed that digrams typed (comfortably) with the same hand are typed faster than digrams typed with both hands. This would increase SFU because `rm` is pretty frequent (e.g. "information") but I'm not sure by how much and whether this would be an impediment?

    Or perhaps `f` would be a better choice? I don't know.

    So, what do you think? Any advice?
    I know that swapping keys that are not typed with the same finger threatens to kill Colemak's complex equilibrium, so I'd rather proceed with caution.

    Here is a picture of my layout:
    mini_349988Capturedecran20170118a092117.png

    Last edited by Julien__ (18-Jan-2017 10:04:10)
    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,362

    Very bad idea!
    • Changes hand of a common key
    • Q position is bad [edit: So, there's a typo in the topic title and Julien really meant the W position which is a lot better...]
    • A change only based on programming habits will hurt you outside of programming
    • Increased same-finger bigram frequency should be avoided (yes, really – some may debate it but I feel quite strongly about this!)

    Bigrams typed with a roll are only marginally faster than two-hand bigrams. Hand alternation is good, rolls are good. I wouldn't worry about that bit.

    Instead, try my Colemak-DbgHk mod (or rather, your variant of it I guess)! It doesn't mess with the important M but with the very rare (in English) K instead. I made it because I though the DvbgHm mod went too far for my tastes. It also leaves the M key alone, which means one less key changed. I like it a lot. In my experience it's as comfortable as the other one but at a lesser cost. Your preferences may vary of course.

    Your placements of the accents and é looks nice. Did you find my variant or just make it on your own? :-)

    Last edited by DreymaR (19-Jan-2017 15:32:37)

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

    Offline
    • 1
    • Reputation: 1
    • Registered: 09-Jan-2017
    • Posts: 8

    Hello DreymaR,
    Thank you for your interest. I didn't look at your layout before placing the accents on mine, but l've just been looking at it now (Colemak[eD]) and I see that you had the same idea, sort of, which comfort me because I was't sure at all this was a good idea.
    When I designed my variant of Dvorak, I placed the accentuated vowels on Alt. It was very convenient because they were all under the left hand, and I used my right ⌘-key as Alt. But I started using emacs since, and I needed my Alt key back... The problem with OSX is that we don't have AltGr and I try to stick with .keylayout files to be able to port my layout whithout needing additional software such as karabiner. So I decided to go with deadkeys instead. The middle columns were elected so that I can use both hands to reach them (To type both `à` and `è`).

    I think that swapping Hk or HkLm is a great idea. I'm not sure whether I should fall back to your Hk or my HkLm. I like the idea of minimizing changes to the standard Colemak layout, but on the other hand swapping L and M seemed like a good idea at the time.

    Last edited by Julien__ (18-Jan-2017 15:47:56)
    Offline
    • 0
    • Reputation: 117
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 978
    Julien__ said:

    Hello everyone,

    I switched from Dvorak to a variant of Colemak-DH angle-mode wide + programmer symbols + french accents a few days ago

    ...

    However, I find myself using quite a lot the `m` key which is on one of those dreaded middle column... Any idea where I could move it to?

    ...

    So, what do you think? Any advice?

    Congratulations on the layout selection. What you have there looks pretty good to me!

    I don't think you need worry that much about the M. While I acknowledge it is the biggest downside of Mod-DH as it does move into a worse position, but if you consider it in more detail it's actually not that bad... Consider the frequency of those two centre-column keys (according to wikipedia):

    G:  2.015%    
    M:  2.406%    

    Presumably you find the G satisfactory? Well, turns out the M is not really much more frequent. And 2.4% is not excessive for a centre-column key.

    I see you have swapped L and H also. The percentages for those are:

    H:  6.094%    
    L:  4.025%    

    Since H is more frequent, I am surprised you have done this. I think you are better off leaving H in the superior position.

    Last edited by stevep99 (18-Jan-2017 19:26:54)

    Using Colemak-DH with Seniply.

    Offline
    • 1
    • Reputation: 1
    • Registered: 09-Jan-2017
    • Posts: 8

    Good evening stevep99 :-)


    Your answer makes me notice that I wrote "Q" instead of "W". My original idea was to swap "M" and "W". The SFU is increased by the digram "rm" on the left ring-finger as explained in the first post. I assumed it was a typo when DreymaR wrote "Q" but it turns out that the typo's mine...


    Concerning M, H, and L, I'm still hesitating. Here's why:

    Regarding letter frequency, I found two very good sources that I recommend, they used a very huge corpus from google and have detailed statistics:
    - http://mdickens.me/typing/theory-of-let … uency.html (note: his programming corpus is not awesome, but better than nothing)
    - http://mdickens.me/typing/letter_frequency.html
    - http://norvig.com/mayzner.html

    Now, the letter frequency of what I actually type is not the letter frequency of casual or formal english (even these two actually differ according to the first link).


    I would weight what I write like this:
    Programming: 70%
    English: 20% (google search ; university assignments ; code documentation ; and very seldom: questions on StackOverflow or forums)
    French: 10% (mainly chats and e-mails)

    The letter H is not frequent in either programming or french:

    e t a o i n s r h l d c u m g y f p w b v k x j q z     (English Casual | mdickens.me)
    e t a r i s n o l c d p u f m g h b v x y w k q j z     (Programming | mdickens.me)
    e a i s n r t o l u d c m p é g b v h f q y x j è à k w z     (French | wikipedia.fr)

    Now, those are statistics found on the internet, which I only trust so much. But my experience tells me the same: H and W are not very frequent in my average typing while L is. And in fact, it's one of the reasons that drove me to quit Dvorak, because H is under the right index finger's resting position which is a waste for me (and also the very bad placement of R and L which are overused in programming or in the terminal e.g. "ls").


    Despite not having a proper very large corpus, I draw the heatmap of the most frequent letters using Patorjk's keyboard layout analyzer with the source code of my last two programs (an android note taking app in Java (around 10k lines) and a compiler in Scala (between 2 and 5k lines)) as input. And the L key is a lot more frequent than either M or H. (H isn't even very frequent, as expected).

    Here is the heatmap:
    mini_839794heatmapscalajava.jpg


    So, here's why I made those choices.

    What do you think?


    --------------------------------------------------------------------------------

    Edit: looking at all this data now, I think that the HkLm cycle is pretty good for my usage, even better than my original Lmh

    Edit 2: I started keylogging what I type to build a personal corpus, even though I know that when my job changes, the frequencies will too.

    Edit 3: programming is a complicated beast because there are many different programming languages... But some letters will be overused in most of them because some keywords (such as "int", "float") are universally used.

    Last edited by Julien__ (18-Jan-2017 20:32:35)
    Offline
    • 1
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,362

    Ah, so not Q. Good, because that would obviously have been a horrible idea. I was trying to break it to you gently. :-)

    The idea of a personal corpus is nice, if you can collect a representative and large sample. Even with a not-quite-large sample it may give you some good pointers!

    Other than that, assessment of the percentages of time spent typing, in your case, French, English and coding (with typing flow!!!) is good. If you don't code by typing fast and flowing, deprioritize the coding in your assessments. You need a good layout for typing fast and flowing, not for typing a few signs while editing code.

    So it seems that French is important but not too important for you (like my Norwegian) after all, which makes Colemak a good choice I think. Colemak is good (enough) for all latin-germanic languages (except Dutch it seems, hehe – J being very uncommon in English and quite common in Dutch throws the balance off).

    Moving keys between fingers is very risky. You'll probably end up with some nasty combos. Colemak is very finely tuned for avoiding those important same-finger owies.

    Maybe leave the M (one less key moved is a good thing in general!) and cycle HKL? Your heat map is convincing, but it's based on very little info. Consider the flow thing and the importance of typing good, flowing English.

    K is quite rare in both English, French and coding. The position you've put your K in on your heatmap is a very good one I think! So maybe you should swap H and K which would benefit English typing a lot (in accordance with my DbgHk mod). Decide which position is worst for you of Colemak L and H (likely H), and which is best of Colemak M and K (up to you). Then put L in the best position, H and M in the next-best positions and K in the worst. I think. ;-) For me, that'd mean swapping L and H from my DbgHk mod I guess. If you do go with moving M, then I'd just swap K and H from your suggestion.

    All in all, I think you've got a nice layout there! One thing I've considered is using twin layouts where only the mid-trench keys change: A text variant with the accent keys, and a coding variant with bracket keys. That way, you can code a little more efficiently (unlless you actually use accented letters in code comments?) and still type efficiently with essentially the same layout.

    Last edited by DreymaR (19-Jan-2017 16:06:37)

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

    Offline
    • 0
    • Reputation: 117
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 978

    Hi Julien

    You've certainly done your research and even experimented with working out your own letter frequencies, which is very good! You've clearly thought about it quite a lot!

    I wonder though - even as a programmer, you may spend more time typing natural language than you think. I seem to recall reading somewhere (sorry, don't remember where!) than programmers only spend about half their time typing code, and the rest is emails / instant messages / documentation / comments / filling in issue trackers etc etc.

    Peter Norvig's data is good, I've looked at his stuff before. He also has H more frequent than L but the gap is narrower compared to the wikipedia data. But I accept of course that people's typing experiences varies, and so it might be possible that for some, L could be more common than H. I'm not entirely convinced it's worth switching, but if you're data shows that L is a lot more common for you, then having L on the bottom row and H on the top row should be OK.

    I concur with DreymaR that changing M to a new finger is not a good idea. The costs are unlikely to outweigh the benefits, especially as M is not that common anyway. If you think the Qwerty-N position is better than Qwerty-H, you could switch M and K so that K occupies the Qwerty-H position, like DreymaR.

    In summary: I think it's OK to switch around H,L,M,K amongst themselves if you really need to, but I'd advise against switching with keys on other fingers.

    Last edited by stevep99 (19-Jan-2017 12:29:23)

    Using Colemak-DH with Seniply.

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,362

    SteveP and me, the tag team of index-finger key shuffles! ^_^

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

    Offline
    • 0
    • Reputation: 1
    • Registered: 09-Jan-2017
    • Posts: 8

    Thanks for your advice
    For now, I'm trying HkLm and it seems ok. I can always switch H and M later.

    btw, switching from Dvorak, the hardest to retrain for now is T, S and E.

    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,362

    Best of luck with your efforts!

    May the sun always shine on you, but not on your screen or in your eyes.
    May the wind not blow your screen over, and the rain not fall on your computer.
    Yeah.

    Last edited by DreymaR (26-Jan-2017 23:10:26)

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

    Offline
    • 0
      • Index
      • General
      • Need advice: swapping `Q` and `M` on mod-DH?