• You are not logged in.

    Kruppe's experience with colemak

    • Started by Kruppe
    • 10 Replies:
    • Reputation: 0
    • Registered: 18-Jul-2012
    • Posts: 6

    I have been using colemak for about a month now, and I just broke 80wpm last night. I really like the layout so far, and I can tell by looking at my fingers while typing out some phrases that there is a dramatic reduction in overall movement between qwerty and colemak.

    My only problem with the layout so far is that my right hand has a lot of trouble with reaching the l and j keys comfortably. Infact it is much more comfortable for me to reach j with my left hand. I have been experiencing pain in my hand from the reach to the l key as well (could just be from overpractice, but I do have short fingers). Right now it feels more comfortable to press l with my right middle finger for a lot of words and after certain rolls. Pressing those keys didn't bother me that much with qwerty because I used to keep my hands resting on asdf and hjkl instead of jkl; because of my short fingers.

    Anyone have any suggestions of a particular method of avoiding the long stretches to l and j? I guess I could do what I did with qwerty and shift my right hand over...

    My only other complaint is the bad key placement for vim up and down since I use emacs + evil, but this is something easily fixable.

    Other than that I've had a great time with colemak, thanks for the great layout!

    Last edited by Kruppe (28-Jul-2012 01:12:27)
    Offline
    • 0
    • Reputation: 7
    • Registered: 21-Apr-2010
    • Posts: 818

    I guess you are referring to the U and Y positions found under Qwerty.

    I can't remember having too many problems with those positions, well at least not under Dvorak.  But watching myself, I do notice that I move the hand towards the key, rather than stretch my finger.  I'm not the fastest typer by any means, so don't know if that will hinder speed gains in the long run.  It might be a general contributer to other aches and pains nearer teh shoulder.  Having said that I like a little movement in the arm, I miss it from the hunt and peck days.

    I think you'll find that a lot of people have a problem with the Y position in a similar fashion under Qwerty.  And many use their left as you do.  It's a matter of taste.

    It sounds as though your finger has never moved in that manner; and hence will feel different and take a little while to get used to.  Blur your eyes (as not to get confused by the different keycaps) and watch yourself type that key.  Play about until you hit it more comfortably.  You might then go back blindly typing it better.

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

    Offline
    • 0
    • Reputation: 0
    • Registered: 18-Jul-2012
    • Posts: 6

    That's right, I'm talking about the Y and U keys from the qwerty keyboard layout. I'm going to practice as you suggest and see if I can't find some method of comfortably pressing that key without too much stretching. The main candidates with a little quick experimentation seem to be shifting my right hand's resting position to the left or using my middle finger for as many finger-rolls as I can.

    You're also probably correct that my right index finger has never really moved like that before. It may just take a little time to get used to.

    Hopefully one of those will be comfortable enough to get back to my original qwerty speed without any undue strain!

    Last edited by Kruppe (28-Jul-2012 02:37:55)
    Offline
    • 0
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,343

    Other people have reported a similar problem. Fortunately, the J is in fact a quite rare letter! If you're having trouble with the L as well however, this suggests a room for some improvement in technique.

    Indeed, it is a stretch upwards. And since I started using the Angle shift on my bottom left hand row (_ZXCVB => ZXCVB_ on an ISO keyboard) to keep the left wrist straight I've had the exact same feeling about the G on the left hand! So if you're keeping your wrists straight (which you should!) this problem easily manifests itself.

    The solution as I see it is more flexibility in your typing position. If your fingers are slightly curved when on the home position, then it's just a very small push upwards with the arm to easily reach the J. And that push shouldn't be bad for ergonomy since it's not a twist. If you're doing it right, of course. Done wrong it could bunch up your shoulder or something.

    I also like resting my elbows while typing. Either that, or floating the hands altogether (but I find that far less relaxing unless I'm trying to type as fast as I can or something). This makes small floats easy, which is useful for reaching the J and mandatory for the number row - furthermore, it facilitates alternative fingering techniques such as hitting the N in 'nk'/'kn' with my middle finger to avoid a same-finger digraph!

    For the up/down issue with Vim, see my Big Bag Of Tricks topic for a reference to the Extend mappings. They solve that problem not only for Vim but for everything.

    Last edited by DreymaR (28-Jul-2012 10:04:20)

    *** 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: 18-Jul-2012
    • Posts: 6

    @davkol: The typematrix keyboard is sort of interesting, but I'm deeply attached to my IBM Model M! I'm typing on it right now, I just love the thing. 30 years old and still working perfectly.

    @DraymaR: Thanks for the tips. I've kept my wrists straight for typing, I'm fairly concious about it since I get pain in my wrists if I don't after extended periods of typing. I'll try that finger curling/armpushing technique and see if it works for me.

    I've noticed that I started typing 'nk' with my middle and index finger as well. Some others are 'ln' 'lk' for which I do the same thing.

    That's an impressive bag of tricks! I used to use the ergonomic emacs keybindings and it's actually a really similar idea to your extended mappings except usable only from within emacs. I'd have to tweak it a little I think, especially since I already use capslock for another meta-mode like set of keybindings (for controlling my tiling window manager).

    Offline
    • 0
    • Reputation: 0
    • Registered: 18-Jul-2012
    • Posts: 6

    While writing today, I conciously kept my right hand pushed slightly more towards the keyboard so that it's fingers were slightly more curved when sitting on the home row. This in combination with using my middle finger for some of the rolls with 'L' has almost completely removed the cramping in my right hand, and my typing is a little more relaxed.

    After DreymaR mentioned that my fingers should be curved when on the home row, I noticed a discrepency in my hand positioning between QWERTY and colemak beyond just a shift to the right of my right hand. When typing QWERTY I actually had my hand much farther up the keyboard so that stretches to the upper row were tiny. For some reason while I was learning colemak I must have changed up my hand positioning slightly, probably from using one of those incremental typing tools where you learn the home row keys first (gtypist in my case).

    Also hit a new top speed record today, 91 WPM! Can't do that consitently or sustain it for very long yet though.

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

    There's not loads going on on the RHS of Qwerty.  So I think you'd naturally gravitate to the top row, where four common vowels lay.  You'd also transposed left a column, which is quite sensible when you look at the layout.

    Some people type with a curve, some people type flat.  Look at Sean Wronga's videos!  Having your fingres flat doesn't meld well with the home row.   But would probably favour Qwerty to some degree.

    When learning Dvorak, because it actually uses a substantial amount of the right hand side of the keyboard - my right hand found it alien, because it had to work.  For my right pinky - it was like learning to walk.  I'd used it rarely.

    Last edited by pinkyache (29-Jul-2012 20:05:12)

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

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

    Not much tweaking to use the Extend layer in Linux, really. It's defined as a lv5 layer so all you need do is choose a lv5 chooser of your liking. I added the Caps Lock as a lv5 switch but you're of course free to use another. :)

    I dont advocate very curved fingers, mind you! Just a slight curving like a piano player's.

    Last edited by DreymaR (29-Jul-2012 21:30:51)

    *** 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: 18-Jul-2012
    • Posts: 6

    I tried out your bag of tricks today, it seems like a really cool idea. I think for it to be most effective it should be bound to something at least as convenient to press as capslock, but that leaves me with a dilema. Where do I  put my bindings for my window manager?

    I previously rebound capslock to the super key and used it along with some vim like keybindings for moving windows around and resizing them. I also had applications bound to several different keys.

    My options at this point seem to be leaving the keybindings on the actual super key (the windows key) which is inconvenient to press (much moreso than left alt or ctrl),  or the right ctrl and alt (which are also difficult to press, and not present on my laptop). I still require left control and alt for emacs since it uses those heavily for keybindings so those are out. I think I might just use emacs up and down (C-n C-p) because those are actually decently placed in colemak as opposed to in qwerty. The bindings are also quite prevalent and can be found in most applications.

    Also, one thing that might be useful to people that don't use gnome is a mention of how to enable your bindings from the commandline.

    For the us varient:

    setxkbmap -model pc104 -layout us -variant cmk_ed_us

    setxkbmap -option lv5:caps_switch_lock,misc:extend

    Last edited by Kruppe (03-Aug-2012 04:30:50)
    Offline
    • 0
    • Reputation: 210
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,343

    Thanks for that tip! I added it. Oh, and: The Big Bag files just got updated. Mostly small stuff, and no improvement on the Extend.

    You wouldn't happen to know how to make the Alt/Shift/Ctrl remappings in the Extend layer (keys A/S/T) work for xkb? ;)

    *** 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: 18-Jul-2012
    • Posts: 6

    You're welcome!

    As for making the modifier keys work on normal letter keys, that's something I can't tell you.

    I did puruse the xkb protocol specification a little and didn't find anything that would point to the conclusion that it isn't possible.

    I'm guessing you've already tried using xev to try and diagnose the problem, but in case you haven't. Using those letter-modifiers does report something interesting:

    KeyPress event, serial 32, synthetic NO, window 0x2600001,
        root 0x150, subw 0x0, time 10503788, (363,665), root:(364,690),
        state 0x30, keycode 41 (keysym 0xffe3, Control_L), same_screen YES,
        XKeysymToKeycode returns keycode: 37
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyRelease event, serial 32, synthetic NO, window 0x2600001,
        root 0x150, subw 0x0, time 10503828, (363,665), root:(364,690),
        state 0x30, keycode 41 (keysym 0xffe3, Control_L), same_screen YES,
        XKeysymToKeycode returns keycode: 37
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyPress event, serial 32, synthetic NO, window 0x2600001,
        root 0x150, subw 0x0, time 10503828, (363,665), root:(364,690),
        state 0x30, keycode 41 (keysym 0xffe3, Control_L), same_screen YES,
        XKeysymToKeycode returns keycode: 37
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyRelease event, serial 32, synthetic NO, window 0x2600001,
        root 0x150, subw 0x0, time 10503868, (363,665), root:(364,690),
        state 0x30, keycode 41 (keysym 0xffe3, Control_L), same_screen YES,
        XKeysymToKeycode returns keycode: 37
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyPress event, serial 32, synthetic NO, window 0x2600001,
        root 0x150, subw 0x0, time 10503868, (363,665), root:(364,690),
        state 0x30, keycode 41 (keysym 0xffe3, Control_L), same_screen YES,
        XKeysymToKeycode returns keycode: 37
        XLookupString gives 0 bytes: 
        XmbLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyRelease event, serial 32, synthetic NO, window 0x2600001,
        root 0x150, subw 0x0, time 10503872, (363,665), root:(364,690),
        state 0x30, keycode 41 (keysym 0xffe3, Control_L), same_screen YES,
        XKeysymToKeycode returns keycode: 37
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    
    KeyRelease event, serial 32, synthetic NO, window 0x2600001,
        root 0x150, subw 0x0, time 10504600, (363,665), root:(364,690),
        state 0x30, keycode 66 (keysym 0xfe13, ISO_Level5_Lock), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False

    Note how close the time of the events are. The modifiers are being "pressed" and "released" rapidly just as you would normally expect from letter keys when they are held down. You probably need to condionally control their repeat rate or somehow change them to act more like modifiers. I'm really not sure if it can be done, but the answer probably lies deep in the xkb and x window protocol specifications.

    Offline
    • 0