• You are not logged in.
  • Index
  • General
  • What r your programming typing patterns???

    What r your programming typing patterns???

    • Started by nimbostratue
    • 16 Replies:
    • Reputation: 0
    • Registered: 14-Jan-2011
    • Posts: 163

    In an effort to optimize the keyboard layout to reduce wrist movements and increase efficiency while programming, I have analysed my java programming pattern for lengthy code using http://www.andong.co.uk/dvorak/Default.aspx  . The layout that I used was pure QWERTY i.e standard :).

    The portion of the analysis that I was interested in was the key frequency and here are the SHOCKING results

    Key frequency in your text
    [SPACE]     13,034 23.34%    p     1,229 2.20%    w     407 0.73%      _     79 0.14%    -     30 0.05%
    [LSHIFT]     4,725 8.46%    d     1,070 1.92%    h     373 0.67%      z     75 0.13%    [     16 0.03%
    e             3,639 6.52%    *     1,043 1.87%    b     373 0.67%      :     71 0.13%    ]     16 0.03%
    t             2,798 5.01%    u     984 1.76%           y     334 0.60%      k     69 0.12%    3     15 0.03%
    [RSHIFT]     2,398 4.29%    c     965 1.73%            j     331 0.59%      1     64 0.11%    5     13 0.02%
    s             2,048 3.67%    .     908 1.63%          @     274 0.49%      +     51 0.09%    4     12 0.02%
    a             2,038 3.65%    m     783 1.40%           x     254 0.45%      0     47 0.08%    8     11 0.02%
    r             1,970 3.53%    g     741 1.33%           "     254 0.45%      >     39 0.07%    6     6 0.01%
    o             1,889 3.38%    (     726 1.30%           /     250 0.45%      <     36 0.06%    9     4 0.01%
    i             1,793 3.21%    )     726 1.30%           =     189 0.34%      !     36 0.06%    7     4 0.01%
    n             1,780 3.19%    f     607 1.09%           {     185 0.33%      2     33 0.06%    |     4 0.01%
    [ENTER]     1,285 2.30%    v     543 0.97%           }     184 0.33%      \     33 0.06%
    l             1,270 2.27%    ;     481 0.86%           ,     162 0.29%      q     31 0.06%

    I was expecting that I am using the left shift too much which has caused me the injury that I have talked about at the end of this post https://forum.colemak.com/viewtopic.php?id=1311
    but I was not expecting that I am hitting shift more than 'e' and 't' WOW!

    Since I already has embarked on and have actually created a new layout to reduce wrist damage, I do not not plan to keep anything from QWERTY that does not make sense. The letters section of my layout and the shifts are finalized now and I am on improving the position for the programming symbols, Tab, backspace, Ctrl.

    It would be really helpful to know other programmer typing pattern, while improving my layout so it can suite as much people as possible, without jeopardizing the main aim, which is decreasing wrist unnatural twists. Thus if you have time, please give it try and post you programming text analysis results and the language that you use for programming. I think that java C, C++, C# should have close pattern, but HTML, jQuery, php ,vb would of course be different.


    Also if you have second thoughts or concern on the placement of tab and CapsLock on Dvomak, my layout, which I am oblivious too, please let me know. You never know you might find yourself using dvomak someday or something similar, and this is the chance to participate in creating the optimized version of the layout for programming.

    Currently dvomak is like this:

    *  *  *  *  *  *  *  *  *  *  *  *  * capslock
    backsapce        ',ugk         bfcrl
    shift                 oieay      dhtns  shift
    Ctrl                  ;/j.x       pmwvq  z
    Tab

    The letters section of the layout is finished and I will not make any changes on it anymore, the optimization will only be done on the modifiers key and symbols. I am currently testing switching the caps, left ctrl tab and backspace.

    On dvomak my best race offline typeraces was 88WPM now and for 5 minutes on hi games is 74 WPM now, but all  was offline. Now my speed will decrease again as I have to test the new placement of the backspace :( .

    http://www.seanwrona.com/typeracer/prof … ame=Dvomak

    Offline
    • 0
    • Reputation: 1
    • From: Sofia, Bulgaria
    • Registered: 05-Mar-2011
    • Posts: 387

    Are you sure you need caps lock on such position? I personally love having 2 backspaces and use both depending on the text I'm going to type after I'm done erasing.

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

    On a mostly unrelated note, unfortunately: That name, 'dvomak'. I know what caused it, but... it grates my ears? Just thought I'd let you know, maybe you'll want to rethink the naming strategy once more? Of course, if you're perfectly happy with it then by all means. Maybe it's just me getting the wrong vibes and associations here. What's in a name, heh.

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

    Offline
    • 0
    • Reputation: 0
    • Registered: 14-Jan-2011
    • Posts: 163
    pafkata90 said:

    Are you sure you need caps lock on such position? I personally love having 2 backspaces and use both depending on the text I'm going to type after I'm done erasing.

    I like to do it like you said pafakata and my mind used to the alternation between using the backspace on the left and the right hand depending on the text. It is much fast as you said and I do really recommend it, but something has been annoying me from when I changed the caps lock to backspace using the registry, which is that at some point while I am typing I hit something wrong and everything turns to upper case, and knowing that there is no capslock I have to hit sporadically on ctrl , shift , alt to get the text back to normal. I am unaware of any key combo that act as a capslock in case the key is not present on the keyboard, so I thought to keep the caps lock on the keyboard.Also,  since with alternation layout I do not find my self that related to the backspace because me accuracy improves 4 to 5 times, which is really weird :), I thought that the double placement of the backspace will not affect me that much, but if you are aware of any key combo that act as a capslock under windows, please tell me and I will throw a search line in google to see if there is. Also when typing all capital letters words, which are not that common but you still find them in java,  you need CapsLock otherwise you have to hit the shift many times which reduces your speed and fatigues your hands. On the side here, I really hate this concept of capital letter while typing, I love my mother language because there is no such concept as capital letters. Finally the probability of letters happening on the right hand of dvomak is higher than the profitability of letter on the left side, so I would suspect to make more errors on the right hand side, and it is more efficient to have the correction mechanism on the left hand side, but what is more efficient is to have the correction mechanism on both sides.


    DreymaR said:

    I know what caused it ....

    DreymaR always unsatisfied :). Maybe you know what has cause the name but not exactly because there is always something missing, and the missing part that you did not know was may name "Imad", no
    Imak = Imad keyboard layout
    Dvomak = Dovark + Imak
    I would love to name it Imak but unfortunately I would like to keep the Imak layout, and I would like to give credit to mr dvorak :). If you have a better name please suggest it and I am opened to everything :).

    Another java Code analysis:

    [SPACE]     12,784 23.66%    s     1,193 2.21%    b     529 0.98%    "     152 0.28%    6     23 0.04%
    [LSHIFT]     3,473 6.43%    d     1,110 2.05%    w     475 0.88%    2     142 0.26%    <     21 0.04%
    e             3,324 6.15%    .     934 1.73%    j     388 0.72%    {     141 0.26%    \     21 0.04%
    -             2,664 4.93%    c     914 1.69%    x     359 0.66%    }     134 0.25%    >     18 0.03%
    t            2,390 4.42%    p     828 1.53%    /     349 0.65%    k     73 0.14%    !     17 0.03%
    a            2,167 4.01%    (     773 1.43%    h     336 0.62%    :     72 0.13%    &     16 0.03%
    n            1,939 3.59%    )     772 1.43%    0     312 0.58%    +     58 0.11%    7     16 0.03%
    [RSHIFT]     1,938 3.59%    m     702 1.30%    =     275 0.51%    3     53 0.10%    8     14 0.03%
    i    .       1,770 3.28%    v     666 1.23%    1     259 0.48%    4     49 0.09%    9     8 0.01%
    o            1,749 3.24%    u     659 1.22%    ,     231 0.43%    z     49 0.09%    @     4 0.01%
    r            1,565 2.90%    g     658 1.22%    *     211 0.39%    5     46 0.09%
    [ENTER]     1,351 2.50%    ;     644 1.19%    y     175 0.32%    [     29 0.05%
    l            1,292 2.39%    f     535 0.99%    _     160 0.30%    ]     29 0.05%

    I conclude that the most common symbols I use are
    ()
    ;
    /
    =
    *
    _
    "
    {}
    +
    []
    <>


    where I usually use * and - for decoration purposes, and too often the IDE adds side notes that contain * @, but the symbols are not that much required from my side and  I only use * for decoration because it is close. I will be extending the analysis to include some matlab and see the outcome, and I would expect using [] more than {} in matlab. Hopefully by the end of today or tomorrow I will set up the first version of the improved programming symbols layout

    Offline
    • 0
    • Reputation: 1
    • From: Sofia, Bulgaria
    • Registered: 05-Mar-2011
    • Posts: 387

    If you're on a laptop, you could map Fn+F... key's scancode to CapsLock, or one of the extra media keys you don't use. Also you might consider using one of the right modifier keys like RCtrl or the ContextMenu key for a place for Caps – again, if you're not using that key.
    If you're running an AutoHotkey script anyways, you could include some fancier key combination to toggle CapsLock, but you could get in the situation where you're at the Windows login screen and your Caps is ON for some reason and you can't use the script's hotkey. Could be a bit annoying. But if you've got high accuracy, I suppose you could do with one Caps, as you said. I usually have bad accuracy if I have to type small pieces of text and my hands aren't wormed up. I need a few seconds of typing to get in shape (sometimes more).

    Last edited by pafkata90 (31-Dec-2011 11:52:55)
    Offline
    • 0
    • Reputation: 0
    • Registered: 14-Jan-2011
    • Posts: 163
    pafkata90 said:

    If you're on a laptop, you could map Fn+F... key's scancode to CapsLock, or one of the extra media keys you don't use. Also you might consider using one of the right modifier keys like RCtrl or the ContextMenu key for a place for Caps – again, if you're not using that key.
    If you're running an AutoHotkey script anyways, you could include some fancier key combination to toggle CapsLock, but you could get in the situation where you're at the Windows login screen and your Caps is ON for some reason and you can't use the script's hotkey. Could be a bit annoying. But if you've got high accuracy, I suppose you could do with one Caps, as you said. I usually have bad accuracy if I have to type small pieces of text and my hands aren't wormed up. I need a few seconds of typing to get in shape (sometimes more).

    Thank you for your suggestion pafakata, though I am aware to most of them :). Yes, indeed I use a laptop, and I will be using the RCTRL mainly for paste and undo. The problem is that I wanted to know if there a special key when you hit on the keyboard that turns the writing into uppercase although the capslock is not hit (i.e invert the logic). I searched over the net, and it seems that I am not the only one that had this problem, and I could not find any solution, knowing that my shift keys are not stuck and I do not use stick key. Some of the links I looked at

    http://answers.yahoo.com/question/index … 235AArruxp
    http://answers.yahoo.com/question/index … 442AAz9y7z
    http://boards.straightdope.com/sdmb/arc … 80417.html
    http://forums.anandtech.com/archive/ind … 40075.html

    Finally happy new year ^_^, though I have listened to some predictions that it is going to be a disastrous year, but I do not believe and hope that it will good year for the whole world.

    Offline
    • 0
    • Reputation: 1
    • From: Sofia, Bulgaria
    • Registered: 05-Mar-2011
    • Posts: 387

    Happy new year! I see what you mean now. I don't know anything about such a key and it seems the links you posted don't have the answers either. What about asking Microsoft directly? They might be able to help. Or if it's not the OS, but something hardware related, you could try your laptop manufacturer. I'd like to hear if you find something interesting on the matter. It got me a bit curious :)

    Offline
    • 0
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,343
    nimbostratue said:

    DreymaR always unsatisfied :).

    Really.

    Are you using an Autohotkey script? If so, it may be a bit buggy or lacking it robustness so that it sticks you with a shift key being in a logical down state. I've had a problem like that with PKL and the Ctrl state, meaning that every letter key press became a Ctrl-letter combo! Fun fun fun. :) Whenever it happens, I just deactivate and reactivate PKL using the hotkey I've set for that.

    Whenever you experience this problem, do the number keys produce numbers or symbols? This will tell you if it's a stuck shift state or a stuck capslock state you've got.

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

    Offline
    • 0
    • Reputation: 0
    • Registered: 14-Jan-2011
    • Posts: 163
    pafkata90 said:

    What about asking Microsoft directly?

    I do not know but a while ago I contacted them regarding a problem but they did not reply to me.

    DreymaR said:
    nimbostratue said:

    DreymaR always unsatisfied :).

    Are you using an Autohotkey script? If so, it may be a bit buggy or lacking it robustness so that it sticks you with a shift key being in a logical down state. I've had a problem like that with PKL and the Ctrl state, meaning that every letter key press became a Ctrl-letter combo! Fun fun fun. :) Whenever it happens, I just deactivate and reactivate PKL using the hotkey I've set for that.

    Whenever you experience this problem, do the number keys produce numbers or symbols? This will tell you if it's a stuck shift state or a stuck capslock state you've got.

    I used to have this problem while using colemaks capslock mapping to backspace through the registry. I had this problem both with using colemak layout and autohotkey mapping. Now do not notice the problem because the I have returned back the caps lock. I only noticed couple of time that when selecting a single icon on the desktop I end up by selecting a bunch, so I hit the ctrl, shift, capslock, but still the problem exists and I had to reboot. Recently, I am not having any problem, and next time I if I have this problem I will keep in mind testing the number keys, and look at the light for caps lock on my laptop. Also I am sure that Autohotkey is buggy because sometimes when I switch between two layouts (different languages) it inverts the logic of uppercase and lower case and I have to stop the script and restart it again to fix the problem.

    Offline
    • 0
    • Reputation: 7
    • Registered: 21-Apr-2010
    • Posts: 818

    I'd have thought using capslock and the enter/return key as backspaces or shifts or ctrls might be better - if you had a US layout.

    --
    Physicians deafen our ears with the Honorificabilitudinitatibus of their heavenly Panacaea, their sovereign Guiacum.

    Offline
    • 0
    • Reputation: 0
    • Registered: 14-Jan-2011
    • Posts: 163
    pinkyache said:

    I'd have thought using capslock and the enter/return key as backspaces or shifts or ctrls might be better - if you had a US layout.

    I think that the most beneficial thing you could do to avoid further damage to your wrist is to replace caps lock with shift as it is accessed much more than backspace and it  really puts your wrist in a very bad position that will cause pain someday,if it is not already, unless you of course float your left hand while typing and do not twirl your wrist.


    On dvomak I have switched the tap with the backspace as I said above, and although you could feel some muscles pain around the wrist for the first few days, the placement is turning out to be a beauty just like ? on Dvorak. And I think that backspace in this position has less effect on the wrist than ' on dvorak and more pleasant feeling because you open your hand to reach as compared to reaching  ' which keeps your hand confined. To reach backspace in this position without moving my hand or wrist I had to further widen my left shoulder away from my body which which rotates slightly the hand inward in a clockwise direction. This slight inward rotation, slightly increase the burden on the the ring and middle finger, but in this way the pinky can access the backspace(Tap) in a fast way with the minimum effect on the wrist and with almost no twirling or turning of the wrist. These simple changes have helped me to advance very quickly on dvomak since I started the layout on the 19th of december 2011 around 20 days and although I switched 3 days ago between the keys "p" and b "I" was still able to advance to 78 WPM for 5 minutes on hi-games and 85WPM on my typing tutor for around 5minutes essay, and the effort was like I am typing around 55WPM and I am loving typing again. I actually would not have dared to increase my speed further if I was feeling pain, but till now nothing :).

    A further improvement, which I recommend but I could not get it working in autohotkey is to use sticky keys. I really do not know why one has to hold the shift key anyway. Just press the key to activate upper case and when you type your letter it should automatically be turned off after that, and in case you had to type something like ********************************* you could hold it . Unfortunately, I can not manage to implement key swapping and sticky thing with autohokey and I guess I have to do registry remapping and then try to see if windows sticky works. If I could not find any reasonable solution that works as I wish, if any, I will have to do it my way and build my own pkl.


    Dvomak Layout

    *  *  *  *  *  *  *  *  *  *  *  *  * Tap.
    backsapce        ',ugk         pfcrl
    shift                 oieay      dhtns  shift
    Ctrl                  ;/j.x       bmwvq  z
    capslock

    Typing test
    dvomakbestspeed.jpg

    Offline
    • 0
    • Reputation: 1
    • From: Sofia, Bulgaria
    • Registered: 05-Mar-2011
    • Posts: 387

    Nimbo, do you use the "classic" typing technique, or should I say in your case hitting the . key with the middle finger (the C in Colemak)? I'm asking because it seems that the alternative technique which someone was talking about on the forum (I think DreymaR) would fit your layout well, since you said you'd slightly rotated your left hand inward. He was talking about moving the bottom keys one position to the left, while keeping the finger association. This way you won't have to do as much wrist movements, like typing ABA in Colemak.
    I myself was thinking of trying it out but in your case it seems like it will help reducing the movement since your hand is already slightly rotated inwards cause of the backspace. Even though you have fairly rarely used keys at the left side of the bottom row, it wouldn't hurt, and I know you're all up for optimization.

    Last edited by pafkata90 (08-Jan-2012 01:30:08)
    Offline
    • 0
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,343

    The "Angle" ergonomic mod only moves the LEFT side of the bottom row. The right side already has the right stagger for your wrist.

    It's been proposed not only by me, but by cevgar and others. See cevgar's topic on the Wide mods.

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

    Offline
    • 0
    • Reputation: 1
    • From: Sofia, Bulgaria
    • Registered: 05-Mar-2011
    • Posts: 387

    My bad that I didn't specify which keys exactly :)

    Offline
    • 0
    • Reputation: 0
    • Registered: 14-Jan-2011
    • Posts: 163
    pafkata90 said:

    Nimbo, do you use the "classic" typing technique, or should I say in your case hitting the . key with the middle finger (the C in Colemak)? I'm asking because it seems that the alternative technique which someone was talking about on the forum (I think DreymaR) would fit your layout well, since you said you'd slightly rotated your left hand inward. He was talking about moving the bottom keys one position to the left, while keeping the finger association. This way you won't have to do as much wrist movements, like typing ABA in Colemak.
    I myself was thinking of trying it out but in your case it seems like it will help reducing the movement since your hand is already slightly rotated inwards cause of the backspace. Even though you have fairly rarely used keys at the left side of the bottom row, it wouldn't hurt, and I know you're all up for optimization.

    I use classic on text rows but adaptive on the number row, where I do not use the pinky to access any of the number keys and I type some keys with 2 different fingers depending on the context of what I am typing. On dovmak I do not have . below the middle finger, it is swapped with QWERTY's v key, so the probability of accessing the lower row with middle ring and pinky for normal text (not programming ) is very low. Furthermore, I have already commented on DreymaR technique here https://forum.colemak.com/viewtopic.php?id=1047&p=2

    and honestly if you did not minimize access to the lower row the technique will not be enough. I can see this from dvorak, where on the right hand side you have w and if you tried to type key with your hand not floating, you will feel its effect on the wrist, and I have experimented with these key a lot so I am confident of what I am saying. A further good approach that you could use with colemak, and you will notice the difference between your left hand and right hand, is to access p and g with the middle finger. I was typing this way on Colmeak and not programming that much and my left hand was feeling very good until my right hand pinky tip kind of broken and i could not type on the layout anymore so I had to stop typing for a while and then switched to dvorak and started to type the old classical way and programming, but my left hand problem started to appear again, and I was reluctant to make changes to the shift keys, which I was sure that they were the major contributors for my problem, but then I had no option but to change them, and I am happy I did.

    On the other hand, I would love to hear how things go out with you when you try the technique after 10 to 15 days and if your results were encouraging, I would probably try it too, but for now I have others things to try, especially trying the swap between backspace and [ on dvomak as it seems that I make errors on the left side more than the right side and it is even closer to the pinky at that position since I hit the space bar with the right thump.


    Now, My Question is that can anybody of you see where this modified sticky behaviour could fail and how to improve it:

    shift, alt, or ctrl: sticks for one key unless the other pressed key is a modifier
    shift shift: capslock and swap keys with symbols
    ctrl ctrl : swap keys with symbols only

    holding shift, ctrl, alt: will act as a normal shift, ctrl, alt
    shift, alt or ctrl + backspace: clear the sticky

    activate sticky:
    deactivate: only when you press shift 5 times

    Offline
    • 0
    • Reputation: 1
    • From: Sofia, Bulgaria
    • Registered: 05-Mar-2011
    • Posts: 387

    It looks like it could take a little while to get used to it but I knowing your experience with testing layouts, I don't think you'll have much problems adapting :D . It looks solid, I'm not sure where it could fail, since you can also use the old behaviour by holding the modifier.

    If I decide to try out the Angle mod, I'll make a post, but I don't see a lot of long typing sessions soon, so I'm not really motivated to spend time on learning something that won't prove very useful, at least in the near future. Though if I had a bit more free time on my hands I would try it, as it seems like a good idea.

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

    My own Angle mod (on a ISO board, mind you!) took me two days to learn, and a week to be comfy with. The only hassle after that was switching between modded and unmodded boards which took a little longer to get used to.

    The reason it's that simple to learn is that you aren't changing your fingering but just your wrist angle really.

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

    Offline
    • 0
      • Index
      • General
      • What r your programming typing patterns???