• You are not logged in.

    My thoughts

    • Started by hikingpete
    • 8 Replies:
    • Reputation: 0
    • Registered: 30-Dec-2006
    • Posts: 3

    Yup. Another uninformed somebody trying to improve on your vast knowledge and experience...

    I just have a few comments.

    1) I don't use ctrl-* shortcuts (Linux makes cutting and pasting with the mouse easy.) I'm thus annoyed about these constraints, although it seems they don't have a large negative impact.

    2) As a programmer (at least some of the time) I would love to see something done about the characters [, ], {, }, ( and ). Mostly ( and ) though.

    3) I think you overstate the importance of characters not switching hands (from QWERTY). I once encountered a program which demonstrated an approach for one handed use of the keyboard, where the keyboard was mirrored when the spacebar was depressed. This resulted in half the keys (obviously) being typed with the wrong hand, but with the correct finger. I was amazed at how intuitive this was, and how little thinking it required. I would thus expect that keeping the same finger (regardless of hand) would be more important than keeping the same hand.

    4) I'm thrilled about being rid of the Caps Lock key. What a useless key. I might adopt Colemak just for that (yes, I realize that it would be easier to just change that key individually).

    5) Regarding my my first and second comments, I recognize the need to provide a layout that the masses can enjoy, as opposed to a more specialized, 'perfect' layout.

    I came across Colemak because I am (was?) thinking about learning dvorak. I was searching for a layout better suited for programming. Unfortunately I haven't found anything (besides an interesting layout optimized for PERL (which I don't use)), so I'm unsure whether I should bother with Colemak.

    Beware of typos in the above post, I've been testing out dvorak.

    Offline
    • 0
    • Shai
    • Administrator
    • Reputation: 36
    • Registered: 11-Dec-2005
    • Posts: 423

    1. Ctrl+Z/X/C/V has become the de-facto standard for Linux GUI applications, it's implemented in Gnome, KDE, Firefox, OpenOffice, etc. (Table of keyboard shortcuts).

    2. Every programming language uses a different set of punctuation keys. You wouldn't want to learn a new keyboard layout for every programming language. Remember that for every line of code that you type, you type dozens of lines of emails, documentation, forum discussions, IMs, etc.. When you're coding most of the time is spent designing, thinking, debugging, moving around the file, editing operations, etc.. Since punctuation keys are some of the least used keys, they get the least practice, and therefore take the longest to learn.

    3. I tried to completely avoid moving keys to their mirrored position. Even after using Dvorak for two years I still got confused sometimes between the T and the Y. On Dvorak the Y is in its mirror position and T is hit with the other hand. This confusion happened to me when I was typing in Dvorak as well as when I was typing in QWERTY. From what I've seen, this is pretty common. There's a big difference between mirroring all the keys and mirroring only a few keys.

    For programming, the editor you use is much more important than the keyboard layout you use. The combination of Colemak+Vim is a very powerful combination.

    Offline
    • 0
    • Reputation: 0
    • Registered: 30-Dec-2006
    • Posts: 3

    I'm not saying that I'm not familiar with the Ctrl+Z/X/C/V shortcuts - it's that I don't use them. Even in QWERTY.

    Offline
    • 0
    • Shai
    • Administrator
    • Reputation: 36
    • Registered: 11-Dec-2005
    • Posts: 423

    I'm sure you'll encounter situations where you'll have to use Windows or Mac OS X, and you'd might want to use these shortcuts in those cases.

    Mouse use is actually more likely to cause strain than keyboard use. Therefore you should consider using the keyboard to select/cut/copy/paste in order to minimize use of the mouse.

    Offline
    • 0
    • Reputation: 0
    • From: Saguenay Lac St-Jean
    • Registered: 29-Dec-2006
    • Posts: 24

    Ah, comon man. If you do everything with the mouse, you lose so much time. Keyboard shortcuts are here to make our life easier.
    Why would i go to File - New Tab and click with the mouse, when i can just do control + T to open a new one.

    But you must be the first person i encounter that doesn't use the copy paste shortcuts!

    Offline
    • 0
    • Reputation: 0
    • Registered: 30-Dec-2006
    • Posts: 3

    Most people select stuff with their mouse, hit ctrl-c to copy, click where they want to paste, and then hit ctrl-v. I simply select with my mouse, and then middle click where I want to paste the selected text. Done! On the other hand, if I'm doing a lot of typing, then I'm using Vim - in which case Ctrl+Z/X/C/V shortcuts don't help me anyway.

    And chances are, if I'm using someone elses computer, then it doesn't have Colemak (or some other non-QWERTY key layout) to begin with.

    Anyhow, I guess that Z, X, C & V are already in good enough positions, so the layout is not significantly impaired by this constraint.

    As for programming, I'd say ( and ) are all but universal, while [, ], {, and } are only slightly less so. I guess Ruby manages to do away with most of those, especially if you use 'begin' and 'end'.

    Offline
    • 0
    • Shai
    • Administrator
    • Reputation: 36
    • Registered: 11-Dec-2005
    • Posts: 423

    Feel free to customize the punctuation in the keyboard layout to your needs, but it's not something that will be changed in the standard Colemak because:
    * Colemak is designed to be cross-platform. In some implementations (e.g. Windows registry mapping) it's not possible to move ( and ) without moving 9 and 0 as well. People that physically rearrange the keycaps of the keyboard will also face the same problem.
    * Many people find ( and ) more comfortable to type than [ and ], even though it requires pressing Shift.
    * Punctuation frequency depends on the context, programming language, editor, etc. Wikis, for example, make heavy use of [ and ] and little use of ( and ).
    * Low frequency keys take the longest to relearn because you practice them less often.

    If you want some punctuation in better positions there are a few options:
    1. Move the punctuation around to your taste, e.g. swap [ and ] with ( and ).
    2. Use the AltGr key for punctuation. e.g. AltGr+A={, AltGr+R=},  AltGr+S=(,  AltGr+T=), etc. Check out the Arensito programming characters layout as an example.
    3. If you have a keyboard with a numeric keypad and you always keep the NumLock on, and you don't use often the top row to type digits, you could remap the all the digits in the top row to punctuation symbols, e.g. 7={, 8=}, 9=(, 0=)

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

    I've been puzzled before at the US layout's handling of parentheses. Why the square brackets should be more easily accessible is a bit beyond me. [edit: Just saw Shai's post with his explanations for not changing it. Okie.]

    On the upside, being a Norwegian keyboard user I'm well acquainted with Opt/AltGr functionality. So I guess I don't expect better. On a side note, I'm glad to see that Shai takes full advantage of the possibilities in this functionality.

    If I'm using someone else's computer for serious typing, chances are it'll have a new layout installed in no time if I have the access rights for it. Seriously, it's done so quickly and easily from a USB drive that I hardly give it a second thought. (There is also the chance that the computer's owner will become curious as to what the fuss is about thus giving me a chance to "evangelize" a bit, of course.)

    Don't be annoyed at the ZXCV constraint! Those keys and QW are actually in positions the QWERTY layout got just about right, and therefore they shouldn't really be moved regardless of the hotkeys issue. You're right; their positions are good enough. Dvorak made a mistake in moving so many keys; I'm guessing that he either was trying to make his innovation look more total, or maybe there were copyright issues still around at the time?

    Keys that switch hands are bad. Not so bad that one should compromise efficiency notably for it - but it doesn't seem to me that Shai has done that (or he wouldn't have moved E to the right hand!) but still. Almost all the errors I make with Colemak are with letters that have switched hands from Dvorak back to their QWERTY hand. And back when I was switching TO Dvorak I'd mistype the very same letters. Haha.

    Last edited by DreymaR (31-Dec-2006 06:52:26)

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

    Offline
    • 0
    • Reputation: 1
    • Registered: 19-Jun-2007
    • Posts: 17

    OP's thoughts are similar to mine. Arensito page has done some research on punctuation, but it still requires an AltGr that most people are not familiar with.

    I'm also a coder, and I feel the same pain regarding the (), which are used quite a bit even in prose.

    I just started playing around and making my own custom layout. My results are here: http://sagez.net/amuseum/layout.htm . I updated Maxwell / Capewell's Java Applet for J2DK just so I can recompile the code. I also added a percentage for each hand. It's striking to see that while Arensito and Colemak claim that, for their layouts, right pinky is less stressed and left and right hands are balanced, their claims are simply unfounded. This is even more exaggerated for coders who use punctuation a lot. (Added a few other layouts for comparison's sake.)

    The () issue I took care of by putting it on the bottom row, without the need to shift. Their shifted forms then become []. Another thing is the double quotes, which I feel should not be shifted. Thus, both single and double quotes are not shifted, while colon and semicolon are. Periods and dash should be at the top to facilitate typing IP addresses and decimal numbers. I also moved the number row around a lot, mostly for experimentation.

    I do use MKLC for testing. Version 4 does allow you to remap the keys so that () don't have to stick with 9 and 0. However, to bring along the Ctrl+keys functionality, you must edit the .klc in NOTEPAD (simplest program since it saves in native Windows format). Change all the values of VK_ values to the current character. (But first, copy a default layout and jot down the OEM_ mappings.) IOW the common cut and paste commands do not change position between layouts. The bottom four left keys will always be used to cut and paste unless you specifically change the .klc the way that I just mentioned. So whether your layout uses Z or ( in the bottom left key, the Ctrl combination with that button should map to Ctrl+Z. It could be interesting to make two separate layouts, one with Ctrl carried over and one without. Then switch it from the menu or toolbar or Left-Alt-Shift or whatever, depending on whether you're gaming or editing files.

    Basically, I learned from all the layouts and find the things I like about each. Dvorak, like many of you, was my first alternative keyboard. I've been happily using it for almost a decade. There are some quirks everyone is familiar with. But the best thing about it is that it focuses mainly on two rows so row jumping is minimized and timing is thus increased. All vowels on one side, I still not sure of. Looks neat, but sometimes too hectic. That's happens to all layouts, though.

    I maximized the most frequent letters in the best spots, while still maintaining some degree of rolling and finger switching (though not quite as fervently as other layouts). More importantly to me though is balancing between both hands and reducing work on pinkies, especially the right. As I said, Arensito and Colemak, according to the Java Applet, do not achieve this goal. Dvorak with all vowels on one side obviously strays from this goal. In fact, all three really perform the same in these two criteria. So all this talk about Dvorak being more right-hand-heavy is just trash-talk and nothing else.

    Cut and paste is done best with a multi-button mouse such as MX Revolution. Remap the thumb buttons, that is the most efficient way to cut and paste. No looking at keyboard, no switching from mouse to keyboard, no finding the mouse, no going through menus, etc.

    Offline
    • 0