• You are not logged in.

    Hi all! New Colemak user here (plus a variant layout ) :-)

    • Started by cthunter01
    • 21 Replies:
    • Reputation: 0
    • Registered: 10-Jul-2010
    • Posts: 11

    Hello all, I'm a new Colemak user, and just thought I'd say hello. Been using it for two days now. I went cold-turkey, and can now type somewhere in the ballpark of 20 wpm.

    Also, I'm using a variant of Colemak that I created to aid in programming. It moves around the symbols and numbers to make programming a little easier. I'd post some screenshots, but I don't think I can yet since I don't have any posts yet. But here's the layout typed out:

    `+%{()=[]}*-!
    qwfpgjluy;&$\
    arstdhneio'
    zxcvbkm,./

    ~1234567890_#
    QWFPGJLUY:^@|
    ARSTDHNEIO"
    ZXCVBKM<>?

    As you can see, I swapped the numbers and symbols, so that the symbols are available without having to press the shift key. Also they're in slightly more rational places.

    Cheers

    Last edited by cthunter01 (11-Jul-2010 19:48:59)
    Offline
    • 0
    • Reputation: 0
    • Registered: 05-Jan-2010
    • Posts: 91

    Actually, I think the original placement is more rational. But that might depend on what language you're programming in. Par exemple, I'd certainly not want the parenthesis where you put them when I'm hacking lisp. Or, really, all of the brackets (especially the braces) seems pretty off for C-like syntax in your layout.

    But then again, it probably depends on what language you're programming in. What language did you have in mind when you designed that?

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Jul-2010
    • Posts: 11

    Heheh, really? It was inspired by the Programmer Dvorak layout, but I moved the () and [] underneath the left middle and index finger and right middle and index finger respectively because those are the most commonly used symbols matlab and python (which are what I use most). And the curly braces are placed symmetrically under the ring fingers. It feels pretty comfortable to me, but YMMV. Much more so than the original placement.

    How would you lay out the braces? I'm still learning/testing the layout, so am interested in any input/suggestions.

    Cheers

    Last edited by cthunter01 (11-Jul-2010 22:43:00)
    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Jul-2010
    • Posts: 11

    I think a Programmer variant would be a cool thing to have. I never really properly learned the upper row of keys on QWERTY, so I could never really program by touch typing. That's one thing I hope to remedy while learning Colemak now.

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Jul-2010
    • Posts: 11

    What about just using the symbol layout from the Programmer Dvorak keyboard?

    Offline
    • 0
    • Reputation: 0
    • Registered: 03-Jul-2009
    • Posts: 189
    cthunter01 said:

    What about just using the symbol layout from the Programmer Dvorak keyboard?

    The Programmer Dvorak Keyboard does not seem to take in proper account most frequent symbols and most frequent sequences. For instance, all symbols most likely to be preceded or followed by a newline should be on the left, but they are not (closing parenthesis and slash, for instance).

    Dvorak typist here.  Please take my comments with a grain of salt.

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Jul-2010
    • Posts: 11

    Okay, I'm going back to the default Colemak layout for now, and I'll mess with the symbols later. I realize that the placement of the symbols above was very comfortable, but I wasn't using all of the right fingers for the keys. I modified it again by moving a couple of the parentheses around and using the proper fingers, but I think I'm just going to stick with the default layout for now while I'm learning. Then I'll give the symbols another go. Probably will be something really similar to what I have above, since like I said it feels pretty comfortable regardless of the above comments. :-D

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

    Tomlu has another solution: Meta-level programmer layout. I'm planning to get something like that too, eventually. Check it out if you're interested.

    *** 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: 03-Jul-2009
    • Posts: 189
    DreymaR said:

    Tomlu has another solution: Meta-level programmer layout.

    Are you suggesting me to read this thread: https://forum.colemak.com/viewtopic.php?id=524 ?

    In the past, I've considered such a layout (where symbols are to be accessed by AltGr), but after a bit of practice, I deemed such a solution not to be effective. Having to issue two keystrokes (Arensito style) for each symbol felt more cumbersome than hitting keys on the number row (Programmer Dvorak style), in spite of such keys being farther. Keep in mind that since I use a Vim clone as my editor of choice, besides using symbols for code, I heavily use them for moving around too. I also have to add that I like having regular Alt on both sides of the keyboard (maybe I could have worked around this by using dead keys, DDvorak style).

    Currently, I'm not in the mood to design my own layout for programmers and Vim users. If I ever manage to accomplish something, I'd like to hear your opinions about it.

    Anyway, thank you for your suggestion, DreymaR.

    Dvorak typist here.  Please take my comments with a grain of salt.

    Offline
    • 0
    • Reputation: 0
    • Registered: 17-Mar-2008
    • Posts: 192

    Tomlu has another solution: Meta-level programmer layout.

    Very graceful of you to extend credit, my friend. However, I'd like to state for the record that I absolutely did not come up with it on my own. Rather, I think it's been attached to my name merely by my being vociferous about it on the forums :)

    In the past, I've considered such a layout (where symbols are to be accessed by AltGr), but after a bit of practice, I deemed such a solution not to be effective.

    I've been using said layout daily for almost two years now and I cannot recommend it enough. If you can sacrifice two handy keys for AltGr I believe it to be superior to reaching for the numeric row, including when using Vim (my editor of choice).

    This is my layout in case anyone is interested in a starting point:

     ${}\ 1+[];
    @*:/" 0=();
     ~|&# _-<>
    Last edited by tomlu (02-Aug-2010 12:20:49)
    Offline
    • 0
    • Reputation: 0
    • Registered: 03-Jul-2009
    • Posts: 189
    tomlu said:

    In the past, I've considered such a layout (where symbols are to be accessed by AltGr), but after a bit of practice, I deemed such a solution not to be effective.

    I've been using said layout daily for almost two years now and I cannot recommend it enough. If you can sacrifice two handy keys for AltGr I believe it to be superior to reaching for the numeric row, including when using Vim (my editor of choice).

    Thank you for stopping by, Tomlu. I suppose this is a very subjective issue, then. Nice to explore both approaches...

    tomlu said:

    This is my layout in case anyone is interested in a starting point:

     ${}\ 1+[];
    @*:/" 0=();
     ~|&# _-<>

    Thank you for posting it. I have a question: did you consider the Enter key while positioning symbols? I mean, it think that (); should be on the opposite side of Enter (this is less an issue for {}[] since they are less common in programming languages).

    Dvorak typist here.  Please take my comments with a grain of salt.

    Offline
    • 0
    • Reputation: 0
    • Registered: 17-Mar-2008
    • Posts: 192

    I suppose this is a very subjective issue, then.

    Naturally, I did not mean to say otherwise. If you've tried it and didn't like it, then of course that's that.

    Thank you for posting it. I have a question: did you consider the Enter key while positioning symbols? I mean, it think that (); should be on the opposite side of Enter (this is less an issue for {}[] since they are less common in programming languages).

    I did consider placing these keys (especially the semicolon) on the other half for that very reason. I personally use TypeMatrix and Kinesis keyboards where the enter key is a little better placed, and I also try to keep the keys mostly on the same hand as their qwerty counterpart.

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Jul-2010
    • Posts: 11

    Hey, I'm back! :)

    I've stuck with the Colemak layout and can now type between 55-60 wpm consistently. I must say, it sure _flows_ quite well; I'm pleased with it. Still not back to my old typing speeds, but that's okay; I can still type pretty well. I've stopped practicing my typing specifically, and I "just type" whatever I need now which probably accounts for my lack of progress in recent weeks, but ~55 wpm is not too bad. It'll get faster with time I'm sure.

    Anyway, what I really wanted to say was that I created a new "Programmer Variant". It's pretty similar to the one before, what with the numbers and symbols in a switched "shift state", or whatever you call it. But it's optimized for typing LaTeX. And it works QUITE well, I must say. I'm quite happy with it. Here it is, for anyone that's interested. Comments/suggestions welcome.


    `+[({\*})]%-!
    qwfpgjluy;&$= Bcksp
    arstdhneio' Return
    zxcvbkm,./ Shift

    ...and...

    ~1234567890_#
    QWFPGJLUY:^@|
    ARSTDHNEIO"
    ZXCVBKM<>?

    As you can see, I've placed the {}, (), and [] on the same fingers of alternate hands, and also the +-. It feels pretty natural while typing. You might also wonder about the placement of the backslash on the top row. Well, if you've typed much LaTeX before, you know it's a pretty common key. Placing it under the index finger of the left hand feels pretty natural. The only thing I'm not sure about is the placement of the backslash under the index finger of the right or left hand. I may swap them just to get a feel for how the other way works. That is, to swap the * and \.

    Last edited by cthunter01 (22-Aug-2010 23:16:34)
    Offline
    • 0
    • Reputation: 214
    • From: Viken, Norway
    • Registered: 13-Dec-2006
    • Posts: 5,364

    Yet Another Coders Colemak...

    *** 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: 03-Jul-2009
    • Posts: 189

    Hi cthunter01,

    thank you for sharing your improved layout.

    Since you asked for feedback, here is mine.

    I think you should specify your typing pattern. Is it this: https://en.wikipedia.org/wiki/File:Touch_typing.svg ? You know, some people prefer for example this instead: http://www.freebusinesssoftware.org/scr … .480px.jpg , and that would break your design goal of positioning brackets on same fingers of opposite hand.

    You know what? I've been thinking about a Programmer layout and I would have placed the brackets in a similar fashion, albeit I would have put the closing ones on the left side. This is counterintuitive, but in all programming languages I've been using, closing brackets are more likely to be followed by either Enter or ;.

    For a more generic layout for programmers - if that wouldn't hurt Latex, which I don't know anything about - I would put = (a very common symbol) under a finger other than the pinky, for instance by swapping it with +. Moreover, the /* sequence (the multiline comment in C-like languages, which are mainstream today) seems a bit straining (swapping \ and * as you have suggested would fix this).

    Did you consider moving : and ;? In all languages I've been using, they are almost always followed or preceded by Enter, and unless you are using a very smart editor, you'll have to hit them with the same pinky.

    Cheers.

    Last edited by spremino (23-Aug-2010 17:12:21)

    Dvorak typist here.  Please take my comments with a grain of salt.

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Jul-2010
    • Posts: 11
    spremino said:

    Hi cthunter01,

    thank you for sharing your improved layout.

    Since you asked for feedback, here is mine.

    I think you should specify your typing pattern. Is it this: https://en.wikipedia.org/wiki/File:Touch_typing.svg ? You know, some people prefer for example this instead: http://www.freebusinesssoftware.org/scr … .480px.jpg , and that would break your design goal of positioning brackets on same fingers of opposite hand.

    You know what? I've been thinking about a Programmer layout and I would have placed the brackets in a similar fashion, albeit I would have put the closing ones on the left side. This is counterintuitive, but in all programming languages I've been using, closing brackets are more likely to be followed by either Enter or ;.

    For a more generic layout for programmers - if that wouldn't hurt Latex, which I don't know anything about - I would put = (a very common symbol) under a finger other than the pinky, for instance by swapping it with +. Moreover, the /* sequence (the multiline comment in C-like languages, which are mainstream today) seems a bit straining (swapping \ and * as you have suggested would fix this).

    Did you consider moving : and ;? In all languages I've been using, they are almost always followed or preceded by Enter, and unless you are using a very smart editor, you'll have to hit them with the same pinky.

    Cheers.

    Hi, thanks for the input. As far as the typing pattern goes, I'm using the first of the links you mentioned. Yes, if someone were to use the other pattern it would definitely mess up the aesthetic. :)

    I usually prefer to use inline comments // when using C, and I avoid using /* */ except for debugging purposes, but switching them I don't think will hurt anything, but could help.

    Also, I actually thought about swapping the positions of the braces like you suggest. The only reason I didn't was that I don't think it would actually make much of a difference in practice but would destroy some of the intuitiveness. Since the braces/brackets are only on the index, middle, and ring fingers and the return (and semicolon) is on the pinky, you still don't have a repeated keystroke. The ; and : keys on the same finger as the return is a bit of a PITA. I just don't really know what to do with it.

    I could try swapping the \ and *, and then swap the * and ; keys. That would place the \ under the right hand, and the ; under the left index finger. It doesn't help with the /* issue much, but it fixes the ;-Return issue. And the ;-Return, it seems, is a bigger issue so the solution comes out slightly ahead? It would look something like this

    `+%({;  \})[]-!
    qwfpg  jluy*&$=
    arstd  hneio'
    zxcvb  km,./
    Last edited by cthunter01 (23-Aug-2010 20:23:38)
    Offline
    • 0
    • Reputation: 0
    • Registered: 03-Jul-2009
    • Posts: 189

    Hi cthunter01,

    thanks for answering.

    cthunter01 said:

    I usually prefer to use inline comments // when using C, and I avoid using /* */ except for debugging purposes, but switching them I don't think will hurt anything, but could help.

    OTOH, maybe I just overestimated the frequency of multi-line comments. Indeed they are used mostly to generate documentation with Javadoc-like tools, and it could be that documentation comments are frequently generated by your editor of choice anyway. However, if you think that swapping them would not hurt the layout, than doing so could be useful.

    cthunter01 said:

    Also, I actually thought about swapping the positions of the braces like you suggest. The only reason I didn't was that I don't think it would actually make much of a difference in practice but would destroy some of the intuitiveness. Since the braces/brackets are only on the index, middle, and ring fingers and the return (and semicolon) is on the pinky, you still don't have a repeated keystroke.

    Indeed, we should evaluate the impact with some data at hand...

    cthunter01 said:

    The ; and : keys on the same finger as the return is a bit of a PITA. I just don't really know what to do with it.

    I could try swapping the \ and *, and then swap the * and ; keys. That would place the \ under the right hand, and the ; under the left index finger. It doesn't help with the /* issue much, but it fixes the ;-Return issue. And the ;-Return, it seems, is a bigger issue so the solution comes out slightly ahead? It would look something like this

    `+%({;  \})[]-!
    qwfpg  jluy*&$=
    arstd  hneio'
    zxcvb  km,./

    Yes, ;-Return is a way bigger issue. I wouldn't change such comfortable positions for brackets though. You never know what brackets a language uses the most, and how it mixes them (Erlang comes to mind). I have to say that I would very much kick Q out of where it is, but then the layout would not be Colemak anymore, would it? What about placing ; and : where 1 is (thus shifting numbers one column to the right), like this:

    Unshifted:

    `;[({*\})]%-!

    Shifted:

    ~:1234567890_

    (Of course, you'll have to place + and # somewhere else)

    Off-topic: Have you ever tried the alternative typing pattern? I used the one you are using now and found that it was a bit uncomfortable on my left index. Now I type with the alternative one, but pressing 2 with my ring finger instead of my pinky.

    Cheers

    Dvorak typist here.  Please take my comments with a grain of salt.

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Jul-2010
    • Posts: 11
    `;[({*\})]%-!

    Shifted:

    ~:1234567890_

    (Of course, you'll have to place + and # somewhere else)

    Off-topic: Have you ever tried the alternative typing pattern? I used the one you are using now and found that it was a bit uncomfortable on my left index. Now I type with the alternative one, but pressing 2 with my ring finger instead of my pinky.

    Cheers

    It's funny you should mention that alternative. That's (almost) how I used to type in QWERTY. I never properly learned how to type the top row, but that's just what felt most comfortable; mostly it feels much easier to hit the 6 key with my left index than my right. But since I never really "properly" learned that row, I thought I would learn it the "right" way from the beginning this time with Colemak. I'm seriously considering trying (or going back to) that alternative; it might make things easier.

    Back on topic, though, I modified the layout slightly again taking into consideration some of your comments, especially about the equals sign. It really should be in a better place. And, shifting the symbol keys on top to the "alternative" layout, gives:

    `+%[({;  })]=-!
    qwfpg  jluy*\&$
    ...

    and

    ~123456  7890_#
    QWFPG  JLUY:^@|

    This places the = underneath the right ring finger, and I demoted the \ to the second row under the pinky (but not all the way to the right, that awkwardness was what I was trying to get away from in the beginning). The ; is still under the left index finger.

    Slightly off topic:
    What OS are you using? Do you have an easy way to quickly modify layouts to try them out? I'm using Mac OS X, so I can modify the layouts pretty easily using Ukelele. I'm using the above layout right now as we speak, as a matter of fact.

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

    Enter should be hit with the right-hand thumb in my opinion (I use the Caps-Extend for that). This solves the ;/:-Enter digraph issue.

    *** 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: 03-Jul-2009
    • Posts: 189
    cthunter01 said:

    Slightly off topic:
    What OS are you using? Do you have an easy way to quickly modify layouts to try them out?

    I run GNU/Linux. I used to test my layout by editing a script the window manager refers to. The Gnome window manager has an applet which allows you to see your modified layout by switching to it. However, on my current GNU/Linux distribution (that is: Debian), such applet does not work, therefore I've currently given up improving my layout.

    On Windows, I've used Microsoft Keyboard Layout Creator, but it is cumbersome for edit/test cycles.

    I still don't like where you have put ;, however I guess + and % are heavily used in Latex and that grants them the best spots.

    Still about a generic programming layout: # is frequently employed as line comment delimiter too (Perl and Python come to mind), thus granting it a spot friendly to Enter-# would be nice.

    Dvorak typist here.  Please take my comments with a grain of salt.

    Offline
    • 0
    • Reputation: 0
    • Registered: 10-Jul-2010
    • Posts: 11

    At this point it's getting harder to optimize. For the most part, things seem to be in pretty convenient places. I can swap the semicolon and percent sign without too much harm, but having the % in a convenient place helps a lot with LaTeX, since it's the comment delimiter. Have you tried this layout to see how it feels? That's why I was asking how easy it would be for you to change layouts. It's possible that what doesn't LOOK too convenient, may be just fine in practice. Right now the ; is a bit of a stretch, I'll admit, but that comes from having been using it for a few days now. I'd like it to be in a slightly easier to reach location on the left hand, so swapping it with % could help with that.

    I'll try it and see where it gets me.

    Offline
    • 0
    • Reputation: 0
    • Registered: 03-Jul-2009
    • Posts: 189
    cthunter01 said:

    I can swap the semicolon and percent sign without too much harm, but having the % in a convenient place helps a lot with LaTeX, since it's the comment delimiter.

    I understand the % issue. Indeed, every family of languages seem to have its own choice of comment delimiters and operators, thus making the design of a truly generic programming layout hard. That's why I advocated moving the least used letters (namely Q, and possibly ZJX if you don't care about ZXCV or other issues) to accommodate more punctuation.

    cthunter01 said:

    Have you tried this layout to see how it feels?

    I'd very like to give you such a feedback, but I'm not a Colemakker, I'm a Dvorakker and therefore I have all punctuation already on my left hand. Moreover I use a widened layout, which gives me an extra column between my hands, mostly easy to reach with my indexes.

    I agree that ; feels in a decently convenient place, however not enough for a C programmer to like it, even more than how you would complain about moving %, since - unlike comment delimiters - ; appears in almost every line of code.

    Cheers.

    Dvorak typist here.  Please take my comments with a grain of salt.

    Offline
    • 0