• You are not logged in.

    Touch typing the top row

    • Started by webwit
    • 10 Replies:
    • Reputation: 0
    • Registered: 25-Oct-2008
    • Posts: 11

    Hi all,

    My apologies if this has been covered before, but I noticed some inconsistencies between the keyboard diagram here: https://colemak.com/Learn
    and Shai's definitions for TypeFaster (from the xml definition file):

    <value when="normal" draw="true" newline="true" say="left hand small finger two rows up to the far left">`</value>
    <value when="normal" draw="true" newline="true" say="left hand small finger two rows up to the left">1</value>
    <value when="normal" draw="true" newline="true" say="left hand ring finger two rows up to the left">2</value>
    <value when="normal" draw="true" newline="true" say="left hand middle finger two rows up to the left">3</value>
    <value when="normal" draw="true" newline="true" say="left hand middle finger two rows up slightly to the right">4</value>
    <value when="normal" draw="true" newline="true" say="left hand index finger two rows up slightly to the right">5</value>
    <value when="normal" draw="true" newline="true" say="left hand index finger two rows up to the right">6</value>
    <value when="normal" draw="true" newline="true" say="right hand index finger two rows up slightly to the left">7</value>
    <value when="normal" draw="true" newline="true" say="right hand index finger two rows up slightly to the right">8</value>
    <value when="normal" draw="true" newline="true" say="right hand middle finger two rows up slightly to the right">9</value>
    <value when="normal" draw="true" newline="true" say="right hand ring finger two rows up slightly to the right">0</value>
    <value when="normal" draw="true" newline="true" say="right hand ring finger two rows up to the right">-</value>
    <value when="normal" draw="true" newline="true" say="right hand small finger two rows up to the right">=</value>

    I'm fairly new to touch typing, and as a programmer I couldn't really find any good information on techniques for anything beyond the basic A-Za-z,. stuff. Are there any standards here, or is it anything goes and what suits you best? My gut feeling tells me I should do what feels best considering different finger lengths (see e.g. http://news.bbc.co.uk/1/hi/health/4314209.stm).  My ring finger is so long I can almost poke your eye out when I mishit 2. Maybe someone can point me to some more official or researched guidelines. I'd also be particularly interested in how people solve stuff such as modifier keys being on only one side of the keyboard (AltGr, Control on a Sun type keyboard, etc.). I noticed in my old ways I used a lot of "bad"  two finger modifier operations (even shift z for Z with one hand).

    deskthority.net - input devices extraordinaire

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

    Have a look at https://forum.colemak.com/viewtopic.php?id=524 to see what I do.

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

    I think that people type the top row differently. I use the same left hand as the TypeFaster setup, and you'll even find that hinged boards have the number 6 on the left hand. On the right hand I use the middle finger for 8, the ring finger for 90 and the pinky for -=. If you keep your wrists straight (as I think you should) stretching the index finger to 8 will be awkward.

    *** 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: 27-Apr-2008
    • Posts: 166

    I also use the same fingering as typefaster. I think that is pretty much standard for any layout.

    Even though I touch typed with Qwerty for many, many years, I only taught myself to touch type the number row about a year back. It is worth a bit of practice.

    As a programmer, you should find tomlu's Alt Gr layout very useful. I have kept the numbers in their normal postition but moved all the symbols on to the alphabet keys.

    "It is an undoubted truth, that the less one has to do, the less time one finds to do it in." - Earl of Chesterfield

    Offline
    • 0
    • Reputation: 0
    • Registered: 25-Oct-2008
    • Posts: 11

    That's great, thanks! I'm certainly going to look into that. One idea I'd like to add to that discussion is the modifier key double click to get some of them on both sides when you have no other keys you can remap it to. For example, I configured my setup so that double left alt becomes altgr. I like it a lot but your mileage may vary. I also hid the windows key this way (to double windows key) and assigned the windows key itself to something more sensible. Another idea I've been thinking about (not yet executed) is modifier persistence for the next character or until canceled (like caps lock), so you don't have to hold them down. For example, CTRL-g would be CTRL - release - g - release. This would get me into trouble of course, for example with multiple key modifiers/operations. Although then I could use the old behavior. The caps lock idea (hmmm it sounds rather evil and anti colemak, doesn't it?) would permit me a little trick on my happy hacker keyboard. I like it a lot, except for some non touch typing single hand habits I use when reading long web pages and sitting back. Instead of the mouse I like to use the cursor and PgUp/PgDn keys to scroll with my right index finger. So what I want to do is make an altgr lock, and remap the happy hacker chars on the locations of its function key arrows/Home/End/PgUp/PgDn to the equivalent movements. So I encounter a long page I want to read, sit back, hit my altgr lock function (right altgr double press?) and use the "nav pad" untill the lock is released.

    deskthority.net - input devices extraordinaire

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

    The UNEI(arrows)/LY(words)/JH(pages) nav keys from colemak.vim are worth doing - or, if you're mapping arrow keys you may send them blind so you can hold Ctrl with them and get word navigation that way. I was thinking of using the Win key for those, but hadn't thought of making it persistent.

    One problem with persistent modifiers is akin to the well-known CAPS LOCK OF RAGE: You forget the state of your key and end up with a whole row of unwanted effects. Even if you have a light on your keyboard that's supposed to tell you that the key is active (for your WinLock you'd probably want to cannibalize the ScrollLock light!), that doesn't help much unless you're a master perceiver because you're looking at the screen and not the keyboard most of the time. I get that with my SGCAPS mappings (I use the standard functionality in Windows to map a persistent shift state to the greek letters so I can write in greek whenever the CapsLock is down).

    One solution would be to put the modifier on the same hand as the nav keys. RWin, maybe? But it may get too uncomfortable if you need to play keyboard Twister to do things.

    Last edited by DreymaR (25-Oct-2008 17:50:06)

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

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

    While we're on that subject: I still think that the most intuitive way of making the number/symbol row more accessible would be a modifier key that transposed it two rows down, with the AltGr values on the bottom or top letter row.

    *** 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: 25-Oct-2008
    • Posts: 11

    I wonder if the double click would be a good addition to tomlu's remapping of z and / to altgr. So single z is altgr and double z becomes z. Although I wouldn't use these myself, as a relatively heavy z and / user. (I'm Dutch were z is what sh is in English). I'll experiment with some of my ideas and report back. I was worrying too about "caps lock of rage"/state of key problem, but I'm not sure how it works out in practice. Perhaps a state time out would be a solution for single key press locks. For example, if you don't press a key within one second after pressing CTRL, it returns to the normal state. If you're not sure about the state, just pause. The double press might work out or get me in a terrible mess. Maybe I find myself accidentally triggering it all the time (although it can be fine tuned on the microsecond), maybe not. Not sure yet about colemak.vim. As a happy hacker keyboard user, I already have the movement keys transposed over the main area, so I think I should stick to one system and/or the vi system remapped for colemak to their original positions (I'm near 20 years of vi usage and muscle memory).

    Last edited by webwit (25-Oct-2008 22:09:16)

    deskthority.net - input devices extraordinaire

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

    How do you implement your mappings, so that they're microsecond tunable? C++?

    *** 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: 17-Mar-2008
    • Posts: 192

    I've experimented with double functions of keys depending on timing. In my experience, it seems a good idea, but when you actually try it out it doesn't really work.

    But don't let me deter you -try it out for yourself and see if maybe you can make it work.

    Offline
    • 0
    • Reputation: 0
    • Registered: 25-Oct-2008
    • Posts: 11

    I implemented it with a hack of kbd-mangler. Nasty, but does the trick.

    deskthority.net - input devices extraordinaire

    Offline
    • 0