• You are not logged in.

Autohotkey script for Sticky Shift only?

  • Started by pafkata90
  • 26 Replies:
  • Reputation: 1
  • From: Sofia, Bulgaria
  • Registered: 05-Mar-2011
  • Posts: 387

Could anyone help with making such one? I looked around the net and couldn't find one that works well. Basically this is what I mean:

erw said:

[shift] h e l l o
"Hello"
u s e r s   [shift] [shift] w h e r e [shift]   i d
"users WHERE id"

Last edited by pafkata90 (06-Dec-2011 03:02:46)
Offline
  • 0
  • Reputation: 0
  • Registered: 14-Jan-2011
  • Posts: 163

Why do not you give a try for the solution I have suggested for shift key which I have posted here https://forum.colemak.com/viewtopic.php?id=1218

I think what you are looking for is more comfortableness than accessibility, and the best two methods to remove the shift key problem are

1- On QWERTY swap the caps lock and ' with shifts. This method will eventually increase your speed as using shift is much more common than the mention keys and it will prevent your hand from being locked in a bad position.

2- using the script I provided. If you typed
"hhe" you get "He"
"connnection" you "connection" and
it also works for symbols
! =>1
!! => 1
!!! => !!
The second method is effective in the sense that you do not have to use the shift keys anymore for typing, but you pay an extra letter more. I honestly think that this way will actually increase your speed instead of decreasing it, but you need to practice it for a while. I think it will be good for people who USE the caps locks instead of shift Like Sean, which will reduce the key stroke to 2 instead of 3 for typing a capital letter.

I suggest if you want your method to be implemented to go the autohotkey forum and post a reguest, as I did, and you will find some nice people who will implement it free of charge :)

BTW, I did not forget your request, but I just did not write anything about the layouts, which I plan to do after 16th of December when I finish my exams.

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

I think it sounds bad to make a same-letter digraph system for shifting. Can't imagine how that could be better.

I'd love to help, but I suddenly discovered that my AHK skills have rusted rather badly and I don't have time to fix that now. :(

*** 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
DreymaR said:

I think it sounds bad to make a same-letter digraph system for shifting. Can't imagine how that could be better....

In what sense it is bad? If you are going to free your wrists from twirling to reach shift, would that be bad! In terms of comfortableness, and as far as I know, this is the best solution to avoid shift altogether. In terms of speed, which is my second concern, I think you would not lose much, and I honestly think you would gain speed and accuracy on the long run. The proof is in the pudding, so one must try it! A simple way to test it is to practice the technique for a couple of days only on the line given below and compare it to using shift method. I can not do the test now, because when I run two AHK scripts one for my layout and one for method 2 things get missed. I think after I build my layout using Microsoft keyboard creator, I would do the test.

"The boy went out. Then, he came. I saw him. We went out together! Did you notice that. No I did not. For real! He is just pretending. Are you sure? Of course not! You, are you Sure? Please come on. Stop it now. Long time no see. Very nice. BTW, do you know him? Before today? Quit, doing it and lets go to the United State Of America or may Estonia? Which country do you prefer to go to, KSA, UAE, Jamaica, Canada, or Malaysia? Game Over"

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

Indeed. I completely see your point about the wrist twist (heh!) being bad, and even using my WideAngle ergonomic modification that problem isn't completely alleviated on the left hand (using an ISO board). And I agree that I'd have to try out your method (for a while!) before I could pass any real judgement. :)

However, I am in general wary of same-finger digraphs because I feel that they stress me and slow me down and even more so when they're same-key because then I tend to hammer down the key too much - bottoming out on cheap boards. I only voice my concern that I don't see how this could not affect your solution. Maybe same-key digraphs aren't a problem for you? Typing varies from person to person as we all know.

I remember thinking about how to solve the problem of same-key digraphs. In an opposite vein to rationing away a key like you do, I'd like a new key added - a Repeat key! Preferably under a thumb position so the strong and robust thumbs could help the other fingers out whenever a key press needed repeating. That's just a fast-and-loose proposition and I haven't tried it at all (I don't have extra thumb keys for instance). I also feel that learning too many such tricks becomes a danger to me because it makes me miserable/uncertain/slow whenever I'm on machines that don't support them. Not having my Extend mappings in Linux has been frustrating to say the least!

Tip: The best way of doing two things at once with the AHK keyboard hooks is usually if you #include one script in the other (making sure you don't run into variable name conflicts - I often have a script-specific prefix on all global/static variables).

Last edited by DreymaR (07-Dec-2011 13:09:49)

*** 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
DreymaR said:

....I only voice my concern that I don't see how this could not affect your solution. Maybe same-key digraphs aren't a problem for you? Typing varies from person to person as we all know.

Actually I used to have a problem with words like committee, and I tended to make mistakes in the 'ttee' but after practicing it for a while my mind and fingers became better. I think this is problem is manifest because one does not practice it much, since the same key digraph is not very common, and if one practiced it, the mind will adapt. I used not to like the roll on the left hand between the middle and small finger, but after practicing it with dvorak common digraph 'ea' it became natural and I discovered that it is actually a very fast and healthy roll. Concerning speed and from my tests I know that each finger( index, ring, middle, pinky!!!!)  can type can type a different key digraph at 100+ WPM even if your speed is way below 100, but I am not sure if their  performance will degrade when you type same key digraph and I have to test it later.


DreymaR said:

I also feel that learning too many such tricks becomes a danger to me because it makes me miserable/uncertain/slow whenever I'm on machines that don't support them. Not having my Extend mappings in Linux has been frustrating to say the least!

Indeed, I have been frustrated once at the University when I did not have my  Computer, and I had to type on dvorak. Dvorak layout was there but I was using CAPS Lock as a complement to backspace ( I alternate between them depending on what I am typing) and as you would expect, just this key was frustrating me. However, I now value more health issues on my frustration, and I do not mind pick and hunt for letters on other people keyboards.

DreymaR said:

Tip: The best way of doing two things at once with the AHK keyboard hooks is usually if you #include one script in the other (making sure you don't run into variable name conflicts - I often have a script-specific prefix on all global/static variables).

Does not work... for me scripts, and I only know how swap keys in AHK not more, so I would not be able to fix it and I do not plan to learn AHK scripting to do it :)

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

I just want to add that the problem from making error when typing same key digraph is the fact you do not know when they will occur, unless you of course  master all the words containing them. However, with the solution that I have suggested you have an indication most of the time which is the period "." so when you see it you can set your mind to hit the upcoming key twice and that is where I see my method different from same key digraph

Offline
  • 0
  • Reputation: 4
  • Registered: 04-Feb-2010
  • Posts: 149

This calls to mind an interesting idea I saw elsewhere on this forum where someone had created a script or program that made the spacebar act as shift while depressed, similar to the 'Half-Keyboard' concept, where holding space mirror swaps the keyboard keys. I thought that was a wonderful idea... until I realized that I couldn't find a windows solution. I later consoled myself with the thought that most capital letters come after spaces, so it would have probably not been as good of an idea as it first sounds. (Actually the program allowed ANY key to be used as a modifier while depressed, so it still had potential)

Another side note, about same letter digraphs: I was recently playing around with improving Dvorak, swapping keys and whatnot. I discovered that swapping the O and the A reduced pinky load, reduced outward rolls, and generally had no down sides... until I realized that those 'oo' digraphs would be monsters. Turns out Dvorak wasn't just making a token concession to qwerty after all.

As for double keys... why not just set something specific as a dead key. Like Q or ; or , . Q is rarely used without U following immediately, and ; or , is rarely used without a space following. Heck, I've often wondered why . ? and ! weren't made into deadkeys prior to the internet. Microsoft layout creator allows for a keystike to register three characters, so for instace '.t' would become '. T' saving a space and a shift. '..' would become '...'. '?!' would become '‽'. Numbers would remain untouched, so '.5' would remain '.5'.



Also, how does this script handle "Aardvark"? Not that this is a frequent occurence, but still, aaaardvark? aa Space Backspace ardvark? I'm also wondering about frequency of double letter digraphs vs frequency of key that require the shift modifier.

Last edited by cevgar (07-Dec-2011 15:20:39)
Offline
  • 0
  • Reputation: 0
  • Registered: 14-Jan-2011
  • Posts: 163

@cevgar: Are you a dvoraker?
I wonder why the 'oo' were problematic to you? I am happy that you noticed the outward roll on the left hand, but most of it does not come from o and a, it comes from 'ea' digraph 'ie' and to lesser extend 'io'? I think then you would be interested to try Dvomak, my improved layout of dvorak, but it has o where you have mention and instead of 'f' you have 'b' and instead of 'y' you have 'k'. I have created the layout after I made Imak, which I am currently using. I do not plan to Use dvomak, but it is a superior version of dvorak and hybrid between Imak and Dvorak. Also Dvomak has more alternation than Dvorak and less same finger ratio and much less stretch of the index fingers.

I like the idea .t ==> . T, it is a great and saves burden on the thumb.

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

As for double keys... why not just set something specific as a dead key. Like Q or ; or , . Q is rarely used without U following immediately, and ; or , is rarely used without a space following. Heck, I've often wondered why . ? and ! weren't made into deadkeys prior to the internet. Microsoft layout creator allows for a keystike to register three characters, so for instace '.t' would become '. T' saving a space and a shift. '..' would become '...'. '?!' would become '‽'. Numbers would remain untouched, so '.5' would remain '.5'

Can you implement this .t ==> . T  behavior in Microsoft layout creator?

One Imak. I placed Q instead of '  and I plan to swap Q and CapLock with the shifts, if I did not like method 2 when I test it. Is it possible to Change the Shift in Microsoft keyboard layout creator? I could not figure it out the last time I tried! Maybe I should read the help.

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

No, I don't think it's possible to have Microsoft Keyboard Layout Creator compose more than one character with a dead key.
On your suggestion, nimbo, where nn → N, I don't quite like the idea. I've read your topic about it when you first made it, and it is indeed interesting idea, but for me personally same finger key presses are horrible. I don't like them big time because they stop my typing flow most of the time. Of course this is probably something that I could get used to after some testing, but I prefer the sticky shift way (again – that would be something to try before accepting it as something that I'll be using).

Actually I got an idea on how to make the script. If I don't succeed, I'll ask for help in the AHK forum. If I do, I'll throw a party and then post it here :D. The script I mean.

PS: I'm glad that you haven't forgotten Nimbo. It'll be a good read when you post it, looking forward to it ;).

Last edited by pafkata90 (07-Dec-2011 17:12:58)
Offline
  • 0
  • Reputation: 4
  • Registered: 04-Feb-2010
  • Posts: 149

Not a thread jack. I'm answering a question. That makes it legitimate.

About Microsoft Layout Creator:
Actually it turns out deadkeys can only return single characters or code points. So, you could still use a deadkey for capitalization or special symbols like the interrobang, but to pull of the '. T' maneuver I described earlier you would need to use a shift state. A regular or shifted state key may consist of up to four characters or UTF-16 code points. Shift states are all independent, so for instance, you could set 'q' to return 'qu' and 'shift q' to return 'Qu' instead of 'QU'. Sorry for the mix up.

Microsoft Layout Creator cannot reposition noncharacter keys (shift, ctrl, tab, etc.). To do that you need to flip the scan codes in the registry (I recommend KeyTweak for this method), or hook them with a program like AHK.


About Dvorak:
No, I'm not a Dvoraker, but after getting off from the 'Improve Qwerty' thread, and noticing that Carpalx did not do a 'Improve Dvorak' section I thought I'd take a look myself, using the codesharp.co.uk/dvorak/ test, and a bit of logic.

If you are curious the keyswaps that I recommend are L/C and O/A. Both take work off the pinkies. Swapping U/I has the greatest distance reduction, but U has the highest percentage of vowel digraphs(1.04%, mostly made from the OU digraph, .83%) , and I has the second lowest (.95% with a high point of .26% on AI, to E's .87% with a high of .45% on EA), so that swap increases same-hand streches that Dvorak was trying to avoid. If you are trying to stay within Dvorak's design, S/R is a safer bet, as it significantly reduces same finger, outward rolls, row jumps, and pinkie work, at the expense of having the frequent ST and somewhat less frequent SH on different rows, and NS on the same finger.

Last edited by cevgar (07-Dec-2011 17:11:51)
Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,362

Actually... MSKLC is supposed to support ligatures (i.e., sequences of code points), and can actually modify modifier keys. Just not using the GUI. And I haven't done it so it's iffy indeed. But I've read some of Michael Kaplan's explanations and yes - it can do those things. Supposedly. ;)

*** 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

Regarding my previous post: I'm eating my own words. I thought it would be horrible but in fact it's quite good (if it's in effect only for the first letter of the word). I'm going to test it more with speedy typing. Just as a side note for those who are also using some variation of the AHK AutoCorrect script: search for the line ::tthe::the and comment it out (or delete). It's in conflict with the xx → X script when you type "tthe".
PS: Also do the same for the line ::yyou::you

Last edited by pafkata90 (07-Dec-2011 18:01:24)
Offline
  • 0
  • Reputation: 0
  • Registered: 14-Jan-2011
  • Posts: 163
cevgar said:

About Dvorak:
No, I'm not a Dvoraker, but after getting off from the 'Improve Qwerty' thread, and noticing that Carpalx did not do a 'Improve Dvorak' section I thought I'd take a look myself, using the codesharp.co.uk/dvorak/ test, and a bit of logic.

If you are curious the keyswaps that I recommend are L/C and O/A. Both take work off the pinkies. Swapping U/I has the greatest distance reduction, but U has the highest percentage of vowel digraphs(1.04%, mostly made from the OU digraph, .83%) , and I has the second lowest (.95% with a high point of .26% on AI, to E's .87% with a high of .45% on EA), so that swap increases same-hand streches that Dvorak was trying to avoid. If you are trying to stay within Dvorak's design, S/R is a safer bet, as it significantly reduces same finger, outward rolls, row jumps, and pinkie work, at the expense of having the frequent ST and somewhat less frequent SH on different rows, and NS on the same finger.


It is not only about metrics, you need to take the physiology of the hand into account. Since I used Dvorak, I can say that the layout is pretty comfortable and the pinky issue with it is only visible in the beginning and after that it will become normal. I have tried more than 20 keyboard layouts and tested the placement U/I, S/R, O/A. I designed layouts with  much lower metrics than Colemak and more alternation than Dvorak. Initially I was looking into metrics and failed all the time, but the I started to consider comfortableness, and started to master the effects of each key combo. I can now tell you if a key combo will be comfortable or not very quickly without testing it. If you switch O/A alone you will not gain anything, instead you will lose. The 'oa' digraph is not common at all, the 'a' key does not burden the pinky, and after the placement the tight outward roll 'ea' which I have tested is not at all as comfortable as the outward roll between the middle and the pinky. The main issue with dvorak, is stretching the index fingers towards f and y, and i. if you swapped S/R you will reduce the the outward roll between the pinky and the index, but you will increase the overall outward roll on the pinky from C (cr), T (tr) f (fr) V (Vr - very awkward and damaging). W (wr. w*r), G (Gr). If you do not place the letters that cause these outward rolls in good position to equalize the outward from different directions, your pinky tip might start to ache after 70 WPM as I found, but with proper placement you feel that the pinky is doing less work. if you are interested my home keys on Imak are "hiea* *tsrn"  with my design you can swap r and n and the layout would still be comfortable but I have it this way for a very special purpose. As you can see it is almost inward roll and it is amazing especially the left hand. For dvomak my home is oiea* *htns

Offline
  • 0
  • Reputation: 4
  • Registered: 04-Feb-2010
  • Posts: 149

For the record, the digraph frequency measurements I'm using come from the codesharp 'large text' test, using Mark Twain's 'Roughing It'
http://www.andong.co.uk/dvorak/SampleTe … Twain.html


As I have no experience typing on Dvorak I have to bow to your experience. I'd more readily agree to whatever variations you are talking about if you posted the entirety of your layouts, a full description of the changes from Dvorak or links to where they are posted so I could look at them.

Still, I do have doubts. The O/A switch I mentioned is, for me, less about rolls, and more about reducing pinkie work. That being said I have difficulty seeing a Middle to Ring EA as much of a problem. Qwerty IO is much easier than IP in my opinion (which ironically is your argument with the TR digraph on the R/S swap). IO with I on the column and O on the pinkie might be an issue (and it is far more common than IA), but less so than a left shifting Dvorak user's capital I. OA might not be common, but it is far more common than AO by my figuring. For the given text, OA had a frequecy of .07% and AO was below .01%, thus not displayed in the count. If this is not enough for you, according to a quick search at morewords.com OA is far more common than AO, with 1728 words and 103 words respectively. Now having covered that, A is listed at 6.55% frequency and O at 5.78%. Having said what I wanted about digraphs, and while there isn't much of an improvement, aside from putting 'oo' on the pinkie and the IO stretch I still cannot see a reason not to make this switch.

As for the S/R swap, while I don't disagree that the metrics might be misleading, some of those digraphs you mention... Ok, WR for example. You are saying that a row jump from bottom Middle, to top Ring is easier on the hand than the proposed bottom Middle to home Pinkie?  GR, FR, I'll agree with, but VR... are you serious? I'm sorry, but exactly how often do you type vr? There are, what, 30 some odd words in the English language that have a vr digraph? Isn't that why Dvorak put them on the same finger to begin with?

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

But you have A on QWERTY and it is not problematic at all, unless you are suffering from kind of injury in your pinky or bones. A diagraph IO is not problematic because it is not frequent as 'ea', so it does not only depend on the diagraph, it also depend on there frequency of the diagraph to cause you pain. For, example try this superior layout (the best metrics among all in terms of lower finger ratio and alternation) and you will understand what I mean and this is something you can tell only by experience. The layout is very fast that I reached 71WPM in just 20 days but it causes sever pain to your pinky although it is less loaded than dvorak!!!! Can you tell Why?

http://patorjk.com/keyboard-layout-analyzer/

0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,43,44,37,48,32,35,33,21,23,20,25,26,27,28,18,30,47,34,31,24,19,17,29,22,39,40,41,42,45,16,46,15,38,36,50,49,51,52,53,54,55,56,57,58,59,60


`1234567890-=
#xclmfjguoy[]\
#rsnhdpteai'*N
*Lzvwbq;k.,/*R
##*S#
*L
#######&**()_+
######JGUOY{}|
######PTEAI"
######:K><?
#
*R
~!@*#$%^
#XCLMF
#RSNHD
#ZVWBQ
#
I tried to fix it by swapping o and u, and e and a, but the tight outward roll between the ring and the middle was very annoying and it actually was causing pain in the ring. The outward roll on the upper row between the ring and the middle is less problematic than the outward roll on the middle, yet you should avoid it as much as possible as it will cause some discomfort in the ring. This I have discovered with this layout and others, like the old draft version of Imak below. when you type "ou" and "you" too much you will start to feel the effect of the outward roll on the ring. Again this is not a problem on QWERTY (io) and dvorak (cl) because they are not as common and frequent as ou. 

`1234567890-=
#'uoypvgclw[]\
#heai,dtsnrx*N
*Lq/;.kbmfjz*R
##*S#
*L
#######&**()_+
######VGCLW{}|
######DTSNRX
######BMFJZ
#
*R
~!@*#$%^
#"UOYP
#HEAI<
#Q?:>K
#
Yes the  a row jump from bottom Middle, to top Ring is less problematic on the hand than the proposed bottom Middle to home Pinkie although the second could be pleasant and more natural as the roll is not tight, but the problem starts to occur at high speed with pressure mounting on the figure tip of the pinky. I actually prefer to use the middle bottom to pinky, but if you loaded it too much and the overall outward roll on the pinky is much higher than the inward roll your pinky will start to suffer at high speeds.

I mean V*r, not vr, but anyway if you are using an alternating layout I consider V*r same as  vr. I test this when I already had pain in the pinky tip and I noticed that it puts pressure on the pinky tip from the left side. This does not apply on the hand that doesn't use or hit the spacebar. For example the V*r on the on my left hand is not problematic at all and the pinky on the left hand can take much higher rates of outward roll than the pinky on the right hand, simply because the left hand doesn't hit the spacebare. I wish I could replace the space bar with a key in the middle row so that I would be giving the right hand more freedom. Do you think it is a good idea?

Last edited by nimbostratue (08-Dec-2011 00:09:52)
Offline
  • 0
  • Reputation: 0
  • Registered: 14-Jan-2011
  • Posts: 163

About the improved version of dvorak (Dvomak) which share some features of the left hand with Imak and right hand with dvork, here it is.

dvomak.jpg

I can say that I am almost 95% sure that this layout is very comfortable and 100% sure that it is much faster than dvorak by around 5-10WPM and of course less stressful on the wrist because you will not stretch you index that much. I can also say that I have already tested this layout indirectly because the right hand is almost similar to dvorak with the addition of only the letter p, and left hand share a lot of features with Imak, which I am 100% sure that it is very comfortable at (67 WPM).

Imak layout left  hand
'yo,k
hieau
;/j.x

The only thing that might disturb the left hand of dvomak is the roll "ig", I try to reduce the roll between the middle ring and upper middle (se on QWERTY), as it is not physically pleasant on the left hand due to the staggered nature of the keyboard, which makes this roll very tight on the left hand but more wider on the right hand. On the left hand you will feel that your middle is jamming with your ring if you typed the roll very fast, which is unpleasant at all when it is very frequent( ea ou se nd) . A quick fix to this problem would be to swap g and , which I reckon that it would slight increase the same finger ratio, but it is not a problem at all because each finger (ring, middle, index) can type a digraph at 100+ WPM even if your speed is much below 100 WPM.

Edit: ... A quick fix would would be to put g in the place of "," and but "," in the place of y ,  y in the place of u and u in the the place of g.( That is the initial design of Dvomak that takes comfortableness more into account,  and the given layout here is a lower finger ratio version of Dvomak)

Last edited by nimbostratue (08-Dec-2011 09:17:57)
Offline
  • 0
  • Reputation: 0
  • Registered: 14-Jan-2011
  • Posts: 163

@cevgar
Regarding V*r, as I said I tested it when I had pain in the pinky and I usually test each combo twice with a different layouts. This one I have not done yet but it was on my list for the second version of Imak that has a week pinky or reduced stress on the pinky. Why I find it annoying is because I lay may hand on the keyboard and do not float it, so imagine if you're placing your right hand that hits that space bar still on the keyboard and try to type "every". I gave it a second test today with only one slight modification which is that I move my hand slightly down when I see words like every and it is actually was ok. Today I finished testing Imak with the home row on the right hand "tsrn" and reached 72 WPM in 20 days, and I will be testing the version "tsnr" with v in the placement as dovrak. I have already tested this configuration with j instead of v and it was successful, but few day ago I brought p from the left hand side to the right side to increase the alternation, returned j back to the left hand,  and made some modifications with the keys surrounding the the home row on the right hand. I already like the placement of r on the right hand pinky and I have been alternating for the last 3 months between n and r and as you suggested I noticed a big difference in terms of the frequency that you have to use the pinky, which is evident in the letter frequency chart. I think the best thing is to have h and r on the pinkies  as I did.

The one thing that I did not test yet is switching caps Lock and q with shifts. I have to search later how to do it but first I have to test method 2 as I think it is very good. I have already tested it slight few months ago, but I need to see how much speedy will be gained/lost and this I can only do after my speed becomes stable.  But for sure I will not Use the shifts in their current position in the future no matter what :).

Offline
  • 0
  • Reputation: 4
  • Registered: 04-Feb-2010
  • Posts: 149

Thanks for the info! This should keep me occupied for a bit, so while I'm considering what you've posted, I'll give you something to play with as well.

Some layout codes for codesharp. Included are codes for BvoFRak EN 0.3, the Carpalx full and zxcv mask, plus the  full and main 31 from The New Keyboard Layout Project over at the Mathematical Multicore blog (category:keyboards). Had them laying around (I really should start a thread for that). You might want to check out that Dvorak LC swap while you are at it. Linux folks tend to bitch about Dvorak's LS...

BvoFRak EN 0.3

`|*#=()\+-/**[]
#xlhvj@"gpq!<>
#srntc,eaio.*N
*Lwfmdzu'byk*R
##*S#
*L
#######456789
######$&GPQ?{}
######;EAIO:
######U_BYK
#
*R
~^%0123
#XLHVJ
#SRNTC
#WFMDZ
#

N.K.L.P 31

`1234567890-=
#blmpvjuocq[]\
#nsthd.iera/*N
*Lwxgfk;y,z'*R
##*S#
*L
#######&**()_+
######JUOCQ{}|
######>IERA?
######:Y<Z"
#
*R
~!@*#$%^
#BLMPV
#NSTHD
#WXGFK
#

N.K.L.P Full

=1234567890qz
#ypou-vdlcwx/j
#inea,mhtsr"*N
*L();._kfgb'*R
##*S#
*L
#######&**{}QZ
######VDLCWX`J
######MHTSR\
######KFGB|
#
*R
~!@*#$%^
#YPOU+
#INEA?
#[]:<>
#

Carpalx Full

`1234567890-=
#qgmlwbyuv;[]\
#dstnriaeoh'*N
*Lzxcfjkp,./*R
##*S#
*L
#######&**()_+
######BYUV:{}|
######IAEOH"
######KP<>?
#
*R
~!@*#$%^
#QGMLW
#DSTNR
#ZXCFJ
#

Carpalx ZXCV

`1234567890-=
#gylmwpfub;[]\
#rsntdhaeoi'*N
*Lzxcvqjk,./*R
##*S#
*L
#######&**()_+
######PFUB:{}|
######HAEOI"
######JK<>?
#
*R
~!@*#$%^
#GYLMW
#RSNTD
#ZXCVQ
#

Note: BvoFRak and NKLP Full cheat somewhat, as they mess with shift layers and punctuation. This reduces keystrokes and the derived effort score, but should leave most of the other metrics intact.

Also, just from a quick glance, I can't say I like that ' " position on Dvomak. Coming from qwerty, which has heavier L.Shift use, and a ANSI board, where the L.Shift is half an inch closer to the home position than R.Shift, I learned to be a left shifter. Testing out the motion, it doesn't seem too bad, but I am still wary.


Edit: You do realize that in that first layout you posted, you put the R on the left pinkie, right? And that the FR, DR, WR and HR are merely mirrored from the Dvorak R/S switch I mentioned. And the V*R and CR have gone from Middle to Pinkie row changes to Ring to Pinkie row changes? The only ones that you mentioned where I see noticeable improvement against those outward rolls are the TR and GR, which are now on different hands. To match with your earlier comments that left home position should be SRNH, not RSNH.

Last edited by cevgar (08-Dec-2011 15:34:18)
Offline
  • 0
  • Reputation: 0
  • Registered: 14-Jan-2011
  • Posts: 163
cevgar said:

Thanks for the info! This should keep me occupied for a bit, so while I'm considering what you've posted, I'll give you something to play with as well.


Edit: You do realize that in that first layout you posted, you put the R on the left pinkie, right? And that the FR, DR, WR and HR are merely mirrored from the Dvorak R/S switch I mentioned. And the V*R and CR have gone from Middle to Pinkie row changes to Ring to Pinkie row changes? The only ones that you mentioned where I see noticeable improvement against those outward rolls are the TR and GR, which are now on different hands. To match with your earlier comments that left home position should be SRNH, not RSNH.

Oh sorry, I gave you the wrong version of that Layout, as I have different layouts. That was the start layout but there was an unatural pattern in it which is the nd. It was not fast ( you can see what I mean by hitting dg, sd, ng on QWERTY) and you will appreciate what I say when your speed increase and you start to feel the shaking effect it leaves on the hand especially if you do not float your hands while typing. There was not actually trouble with r, because remember that I told the pinky on the hand that doesn't hit the space bar(my left) takes much more outward roll than the other pinky because the hand has more freedom to move and thats why some the people that hit the spacebar find no problem with the right hand while it might and would cause a problem for other people especially the ones that do not raise their hands while typing on Colemak. Several times I designed a good layout and I tried to mirror it but it doesn't work because mainly of the staggered nature of the keyboard and  because the hand that hits the space bar is more confined and raised up. I was frustrated too many times because of this that I decided to completely replace the space bar by something else, even if it did not appeal to others because at the end of the day I am designing it to preserve my wrists and shoulders, hopefully.

the layout matured to

vldfw    jpuoy
nrhsc    gteai'
zxmbq   k,.;/

with this layout I discovered something important which drew my attention especially after watching this video https://www.youtube.com/user/trigenics# … _rYxqLrzMQ
Lets say if you practiced this layout four a week and reached 50 WPM, you will feel a lot of pain and fatigue in your wrists and at some point you would feel very weak when trying to catch things. At first I wondered why this was happening and I considered quitting the layout, but I decided to continue and see what is happening and after 2.5 weeks my wrists started to improve and become stronger, and I used to suffer weakness in my right hand wrist and pain in the shoulder and this also improved. The only thing that bugged my was the pain in the pinky which was mainly coming from the heavy outward roll ti and the tight roll you, I could have fixed the layout by hitting the spacebar with the left hand or by making the right hand as
pyuoj
gteai'
*****
but I did not because although the layout has more alternation than dvorak, I was still convinced that I could design a layout that minimize the index need to stretch to positions ty on QWERTY and minimize access to C on QWERTY. Also the layout had some long words that roll on the right hand side that contain gauge , itia eatio, and a lot of words that hate ate.., and it felt like sometimes I am dvoraking and sometimes I am Colemaking.

I stopped the layout and tried a different layout with different pattern, but I was almost sure of the pattern that train the upper wrist muscle, lets say so for now as I have too see the effect on the long run like a year. The pattern is is basically a common digraph  ( like ou, ld, ea...etc) placed in an inward roll on the upper row between the ring and the middle will have this effect  on the muscles in the upper rest and the effect would also slightly  extend to from the wrist to the elbow. Try to hit W and then E  and then try to roll WE and see the difference (how rolling activates the muscles connecting the finger at wrist levels.

Conerning ' on dvorak, I did not like it either in the beginning, but I have to admit its faster this way. The reasons I did not like it on dvorak is that I use the ring instead of pinky to hit 12 or ! @, so when I type something like !" my ning would go for ! and my pinky would be totally outside the keyboard and when I try to hit the pinky which is totally disoriented at this point, I find my self hitting the tap or even A, but I practiced it for a while and it was not a problem anymore. Also Dvorak separated ? and " and it would require to hit the shift twice to write a combo like  ?". Finally, my tests of
'****
***ui  (dovrak)

'****
*i**u  (Imak)

shows that I' is both good on dovrak and Imak, but a u' is better on Imak (you're), actually much better. When you hit ui on dvorak the hand is more tight and you feel more stretch however when you hit it u' on Imak or dvomak it feels like you are climbing a ladder where the index finger supports the pinky to reach ' and the stretch is thus  minimized.

designing the right side of a layout was the most difficult for me first of all because all the testing requires time and I had to make the the layout comfortable when I placing my hand on the keyboard(not floating it). and since I wrote about this wrist effect so people can expect what they gonna feel if they decided to try Imak, I can reveal the ones that I have tested consider to be successful.

1-
(at 67  WPM was  comfortable)
pyo,'    vfclw
hieau   dtsnrx
q/;.k    gmbjz
when I tried the layout I was already suffering from trying to load my pinky with nqw (more than dvorak) as in the layout below,
****w
c**rnp

at first I had  the right hand
vgclw
dtsnrx
bmfjz
and I  could feel the effect of the outward roll coming from the bottom, then I placed f in the only position that the removes its effect on r [Note that hitting fr is more natural that rf (pinky index), should be avoided as it will cause pain] . At 67 WPM it I did not feel any bad effect on the pinky. But I was desperate to bring p from the left hand and I want "to have the roll ld", as It doesnot belong there and I think dvork had no option but to have it there, but with Imak I have the option to move it.
               
2-
(reached 72 WPM, slightly heavy on the pinky initially)
'yo,k    bfdlp
hieau   ctsrnq
;/j.x    gmwvz

I still want to minimize the access to w and since w is not correlated with the letters on the right side, I found it is better to have it on the pinky with r not with n. The maximum weight I recommend on the pink is v(top)n(middle)z(buttom).

3-
(Now 50 WPM)
'yo,k    bfclw
hieau   dtsnrq
;/j.x    gmpvz

Now 3 is competing with 2. in terms of comfortableness, 3 should be much better than 2 if the V*R did not break my equalization on the pinky. At this stage the outward roll on the pinky is coming almost equally in all directions( top, middle bottom), I think it should work fine but the ultimate test would at speeds above 70WPM where if there is any problem it will manifest at that point.  If I want to train my wirst with the ld combo I can switch d and c on 3 for couple of months although the layout would not be as comfortable as it is now on the palm because of the very common nd combo between the middle ring, and the upper middle). In general a common combo should be avoided at all cost on the left side on the staggered keyboard( like se on QWERTY, it is very uncomfortable and fatigue the hand quickly). The right hand side is more tolerant because there is a larger separation distance between li as opposed to se on QWERTY. The only discomfort on the right hand is with a combo greater than "nc", like "nd" , where you would start to feel more pressure on the bony edge at the bottom of your hand palm, this has took me a long time to discover and In the beginning I attributed this effect to partially to wrong keys as I said here in https://forum.colemak.com/viewtopic.php?id=1098


As you can see in the thread, if you read it, I told BovFrak that his layout was better than Colemak, but now after gaining more experience, I would not try BovFrak 0.3 not only because of the outward roll (ea, th, etc...), but mainly because of the dangerous design of the right hand side. If you want down wrist pain you should put w where he has put it, and if you want your index to get damaged you should but d there. you should read what I have told jin here about Workman https://forum.colemak.com/viewtopic.php?id=1123.

Hitting v is not the same as hitting m on QWERTY because mainly of the staggered nature of the keyboard and because of the fact that the hand that hits the space bar, usually right, hand is slightly elevated. Having said that I had letter of weight of f instead of v and and the tension started to become horrible above 50 WPM and would not go away even after 3 weeks, in fact it was increasing and I had to change the very early version of Imak to something like this.

`1234567890-=
#bcldgjpouf[]\
#rsntwyiaeh'*N
*Lzxmvkq;,./*R
##*S#
*L
#######&**()_+
######JPOUF{}|
######YIAEH"
######Q:<>?
#
*R
~!@*#$%^
#BCLDG
#RSNTW
#ZXMVK
#

although this was not the correct position of f :). also I had once w instead of x on QWERTY and the downward wrist pain started to mount, and that is why dvorak is superior in this sense because it avoids using the lower keys on the left hand, while the right hang can be more tolerant, though I still think that the position of  W on dvorak is not that healthy on the wrist , but the right hand side of dvorak forces you to float your hand, which help you drag your hand backward while typing w. It is very lay your right hand palm  and type on dvorak, because f and L will keep pulling your hand up off the keyboard and as your speed increase you are forced to float your hand. This is healthy in terms off allowing more blood to circulation, but it would be harder on the shoulder especially for people suffering from back pain like me ^_^.

Dam it, I wasted a lot of time. I should get the hell up and study for my exam next week or I will fail. So I should take break for week now, seriously :). And excuse me for any typos its Imak version 3 testing period.

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

yakl...

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

Offline
  • 0
  • Reputation: 4
  • Registered: 04-Feb-2010
  • Posts: 149

Yeah, degenerating into layout discussion was my fault, and I apologize to the readers of this thread for bringing it up. Still, I find the practical nature of the testing enlightening. We can do all the theorizing we want, but at the end of the day someone still has to type on it. Also it is, to my knowledge, rare to have so many different layouts tested and used by one person. It gives more weight to their opinions than a person who only has two or three layouts to base their judgments upon.

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

I am back a gain with more interesting stories and testing :).

First of all I want to talk a little bit about what got me into doing this research initially. Besides suffering from fibromaylgia, which used to give me pain in the back and shoulder, and which has improved with research and working on my posture, besides that around a year and a half ago I was programming heavily on QWERTY, and would stay all the day programming. While programming on QWERTY, the left hand would take the full blow because you have to hit the shift most of the time with it and because of the stretch to T. At that time I began to notice a small bulge in my right hand wrist which turned to be a ganglion Cyst, http://www.healthwatchcenter.com/2007/1 … -injuries/ .  It was initially small, but would increased in size when I program, and though it was not painful, initially, I knew that it will be at some point. So I thought there is something wrong with my left hand and started to compere it to the right hand. The two visible difference were the high stretch of the index on the left hand and the over use of shift by the left hand. I do not need to get into much details hear but after some research it turned out that the shift was a significant contributor to the problem, way more than the T. Although I have at some point reduced the stretching by the index finger, and although I have massaged the cyst and made it disappear the problem would still happen when I start to use the shift. In my tests, I type two types of text, text without a shift and text with a shift and observe the difference, and for long time there was a big difference. When I type text without any shift there would be almost no increase in the cyst but when I use the shift it starts to inflate.

two weeks ago and on the last version of Imak
',oyu         bfclw
hiea         dtsnrq
;/j.x         pmgvz

I switched the CapsLock and q with shifts.

Then 2 days after the switch I was pushing the protrusion on my wrist with my finger as usual, and it amazingly went in very easily this time, and never came back again. Even though I have reduced the protrusion before by massaging and pounding it but I could feel that my left hand wrist is different from the right hand and the problem would come again when I type for long time normal text that contain shift, almost on the same day. Now over two weeks have passed and my left hand wrist is as normal as my right hand and as if the problem was not there :). I typed a lot of text that contain shift but it did not affect my left hand at all because now I do not have to twirl my wrist and lock it in that damaging position. Another thing is that now I can type almost as much as I want and I only stop from fatigue and boredom rather than pain. Besides being very taxing on the wrists, the shifts are also taxing in terms of effort and YOU will notice a much decreased effort when you reduce the access to the shifts.

With Imak I used to use the capslock as a complement to backspace, and would alternate between them so when I made the switch I had to use the backspace primarily. In the same day after the switch,  I lost around 11 WPM, and by end of that day I was around 5WPM away for my original speed, the next day, I was only 2WPM, and the third day I reached my old speed again. Switching the capsLock with shift was very easy  since my pinky was already used to caps lock and caps lock key is wide as the shift key, however switching q with shift was annoying since the q is a normal key and not wide as the shift and initially I used to widen my pinky to hit it, but I find myself hitting the key after it. The bottom line is that switching the left hand requires less training that switching the right hand shift.

A weak ago, I also switched from Imak to improved Dvomak
            ',ugk   bfcrl
    shift  oieay  dhtns shift
            ;/j.x   pwvq
with z place on the right shift.

Now I am 71 WPM on Dvomak for 5 minutes on hi game.

Although I still can type Imak I decided to discontinue it and only keep Dvomak. Imak layout has the almost the same alternation as Dvomak, but less same finger ratio (better). Both Imak and dvorak has more alternation than dvorak, and the difference between Imak and Dvomak is:

1- Imak maximizes inward roll on the home row, and has the best flow with the lowest  error probability due the straightforward inward roll ( with even more inward roll if you replace , with y), and it gives almost zero wrist pain on both hands, but due to the high correlation between nearby keys on the left hand, it has heavy tight rolling on the left hand ring due to hi and ie, so you would feel the tightness for a while on your index finger more than than colemak ar since hi is more frequent. This of course should become less a problem with time, but still I do not like to put pressure on my fingers if possible. In the ultimate test, I  typed with Imak almost the whole day and I did not feel any pain in the wrists, only in tightness in the left hand fingers. and by the end of the day I was still typing at my maximum speed which means that very little performance was lost

2- dvomak maximizes the use of the homerow, and gives more freedom between the the pinky and the ring on the left hand in particular and other fingers in genearl. However as dvorak, it adds more burden on the right hand and is less balanced than Imak.

The bottom line is that Imak is better on the wrists than dvomak, and dvomak is better on the fingers (ring) than Imak only on the left hand side.

Now after swapping the left hand shift with caps, I realized that the Ctrl should also be shifted up in case I want to hit Ctrl+Shift+Alt. There are four configurations that I am thinking of.

1                                               2                                          3                 4
Tab                                          Tab                                       Ctrl                Ctrl
Shift                                         Shift                                      Shift              Shift
Caps                                         Ctrl                                       Tab                Caps
Ctrl                                           Caps                                     Caps               Tab

1 is annoying if you want to hit Ctrl+shift+alt in one hand

2 is better than one but I might be lazy and instead of floating my hand to hit Ctrl I would twirl the wrist and act the same way as I used with a shift

3 and 4 are better and although I use tab quiet often especially to switch between processes (Alt+Tab), I thought hitting Alt with the index would prevent me from rotating my wrist in both 3 and 4

What do you think? Any ideas?

One last thing, I think it is also good to use hot script as cevgar mentioned
word1.word2 => word1. Word2
thus one would save hitting shift and space and preserve more his hands and fingers

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

What happened to your Shift script? Any luck? experience?

Offline
  • 0