• You are not logged in.

Programming and touch-typing

  • Started by shalmu
  • 28 Replies:
  • Reputation: 0
  • Registered: 09-Oct-2012
  • Posts: 18

I am a programmer with 15 years experience, recently I have decided to learn a touch typing. Of course I decided to learn Colemak for known reasons.
After 2 months in type-fu tutor, I am able to type text fast enough, but when I try to code, it becomes too hard, because I have to type lots of punctuation, for this I have to look down at the keyboard, and it wrecks the whole process. Basically my question is: do we have programmers here, who could give an advice on this? Is it possible to learn to code using a full touch-typing, are there any tricks for this? Any hep, advice or experience story would be much appreciated.

Offline
  • 0
  • Reputation: 4
  • Registered: 08-Dec-2010
  • Posts: 656

Full touch typing includes the number row, where punctuation keys are.

I use Typing Tutor 7 which teaches you full keyboard keys, including number row and the numpad.

Offline
  • 0
  • Reputation: 0
  • Registered: 09-Oct-2012
  • Posts: 18

Thank you, I will try the Typing Tutor 7.

Offline
  • 0
  • Reputation: 0
  • Registered: 09-Oct-2012
  • Posts: 18

Unfortunately I don't find the TypingTutor7, can you please post a link?

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

I program (C style languages), and I use Dvorak.

(Aside: Dvorak moves some of the punctuation away from the bottom row (Qwerty as reference).  And the brackets are moved to the the number row.  The hyphen and hash are found on the home row on a UK keyboard.  I _think_ I prefer these small changes.)

Qwerty, Dvorak and Colemak are designed for language rather than programming.   If you keep your hands in the classic home position (F and J nubs, Qwerty) you'll end up working the right hand more so, and the pinky will bear the brunt of the work.  Add home/end, page up/down and backspace into the mix and the pinky probably will show signs of stress.

You might be able to ease  off the pinky by using other fingers for the punctuation - perhaps having an alternative hand position for the right hand side punctuation characters.

Alternatively you might want to look at a layout that is designed with the programmer in mind.  The two examples that I can think of are Programmer's Dvorak and  Developer's Dvorak, and both take different approaches.

https://en.wikipedia.org/wiki/AZERTY
http://www.kaufmann.no/roland/dvorak/

I am for the moment  using stock Dvorak.  And I am progamming under it.  I do suffer shoulder/neck stress on the RHS, and my hands can tire.  Could well be a result of programming.

I do move my hand off the home position for some characters.   I can find the top right of the keyboard clumsy, and I make more mistakes up there.

Touch typing for programming, brings some speed gains.  I'm  more inclined to  use descriptive variable names.  But as programming is generally slower than entering normal text, it's not as noticable.

A good editor may help you with entering quotes and brackets.   Macros might help.

Some languages may be harder to key due to their syntax.  I'm thinking of something like the arrow ( -> ) operator.  That must be a nightmare under Qwerty/Colemak.  It's slightly easier under Dvorak, as angled brackets get good placement.

It will come with time.   You could practice using typing software, but day to day programming will probably be enough for you.

Last edited by pinkyache (12-Oct-2012 02:17:10)

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

Offline
  • 0
  • Reputation: 4
  • Registered: 08-Dec-2010
  • Posts: 656
shalmu said:

Unfortunately I don't find the TypingTutor7, can you please post a link?

Here it is. I am seeding this.
http://thepiratebay.se/torrent/3348426/Typing_Tutor_7

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

Most of the punctuation is placed well enough, but you need to learn it by heart. So yes, use a training regime that lets you practise these things. Amphetype can be fed actual code for you to test your mettle against (with subsequent analysis), and many tutors like TypingMaster have punctuation drills.

Check the Extend mappings from my signature link. They make editing and navigating a breeze even in places/editors that don't support that kind of functionality out of the box (like Vim does).

For better access to your favourite brackets and stuff, I'd recommend fiddling with the AltGr (lv3-4) mappings. Search around the forums, many have made something that fit them. It depends on what languages you use.

Last edited by DreymaR (12-Oct-2012 12:02:36)

*** 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: 09-Oct-2012
  • Posts: 18

This is exactly what I have done yesterday: I tried Amphetype with my own code. What can I say - my right pinky was aching all the night :)
I use Haxe language - this language is like Colemak in the world of programming - a significant lifehack.
As for punctuation, it is almost the same as any other c-style language, so I think any typical AltGr layout will do.

Offline
  • 0
  • Reputation: 0
  • Registered: 09-Oct-2012
  • Posts: 18

DreymaR, unfortunately I couldn't find any AltGr punctuation mappings here on the forum. Can you please post a link? Thank you in advance, I am so excited to start using it ))

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

We were just discussing the same thing over in a topic by innovine! Go there and follow the links in my post there. Should provide some reading material. ;)

*** 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: 09-Oct-2012
  • Posts: 18

Excellent, taking these experiences into account, I have built my own AltGr layout, based on my Haxe code analysis:
myaltgrlayout.png

But I am unable to compile my layout, Keyboard Layout Creator throws this:
keyboardlayoutcreatorer.png
I look to the source and unable to find 19 key code there at all!

Here is the source: http://www.sendspace.com/file/qfmqpk
If you change one of two "P"s - another one also changes, and I want to get rid of the right one.

Why would it happen?

Last edited by shalmu (23-Oct-2012 10:57:41)
Offline
  • 0
  • Reputation: 210
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,343

Key SC019 is the old 'P' key from QWERTY. It's been defined already and you need to redefine it now that you've added a new VK_P key. So put in a line defining the SC019 even if it doesn't need remapping for you!

19    OEM_1        5    003b    003a    -1    00a8@    0259        // SEMICOLON

Something like this (decide how you want the AltGr mappings obviously).

*** 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: 09-Oct-2012
  • Posts: 18

Thank you so much, it worked!

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

Glad I could use all those hours pondering over .klc files productively! ;)

*** 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: 09-Oct-2012
  • Posts: 18

Why not, I do use a tutors, especially Amphetype, since it's the most balanced tutor around.

Offline
  • 0
  • Reputation: -1
  • Registered: 14-Dec-2012
  • Posts: 212
pinkyache said:

Alternatively you might want to look at a layout that is designed with the programmer in mind.  The two examples that I can think of are Programmer's Dvorak and  Developer's Dvorak, and both take different approaches.

https://en.wikipedia.org/wiki/AZERTY
http://www.kaufmann.no/roland/dvorak/

I am for the moment  using stock Dvorak.

If you use Dvorak now, what made you switch??

pinkyache said:

Some languages may be harder to key due to their syntax.  I'm thinking of something like the arrow ( -> ) operator.  That must be a nightmare under Qwerty/Colemak.  It's slightly easier under Dvorak, as angled brackets get good placement.

It will come with time.   You could practice using typing software, but day to day programming will probably be enough for you.

It does seem that Dvorak seems better for programing than Colemak especially when it comes to syntaxes.

So does this mean that if someone wanted to get into programming and learn to touchtype, you recommend Dvorak over Colemak??

Last edited by knightjp (15-Dec-2012 20:27:48)
Offline
  • 0
  • Reputation: 7
  • Registered: 21-Apr-2010
  • Posts: 818

> .. Which layout for programming ..

@knightjp, I'd probably pick the layout that was most comfortable, and then modify it - something like programmers Dvorak.  Having said that, I haven't bothered to do that yet.  But I could see the benefits in not having to use shift and number key to get some punctuation.  Dreymar suggested using another level, you can then put punctuation nearer the home row if needed.

Dvorak for me is okay, but I really should free up the pinky a bit, brackets are grouped together on the top row, but that area for me, I am slightly prone to error.  I was thinking about putting them down the middle channel and using a wide mod.  I jump between Windows, Linux and OSX, so it's a bit of a headache for me to use something non standard.  That's why I picked Dvorak in the first place, because it was baked into to all three (having said that, there are still a few differences.)

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

Offline
  • 0
  • Reputation: 0
  • Registered: 09-Apr-2013
  • Posts: 14

My experience with punctuation:

I was not able to learn properly touch-type punctuation for 18 years, despite using proper touch-typing technique. Braces, square brackets I could touch-type, but I needed to look for punctuation from numeric row.

Last year it changed, I bought "blank" keyboard and left it at work as my main keyboard. After about a month (and a lot of cursing) I was able to touch-type all available symbols.

This year I plan to buy ErgoDox keyboard, I'll create my own layered layout (with braces and brackets under stronger fingers).

Last edited by ksm123 (09-Apr-2013 14:02:40)
Offline
  • 0
  • Reputation: 0
  • From: Malmö, Sweden
  • Registered: 10-Sep-2012
  • Posts: 122

Go play some typeracer.

Posted without the aid of a rodent.

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

Swap punctuation and numbers, while making Caps Lock active on number keys, too, to make it easier to type long sequences of digits.

If your programming language of choice makes heavier use of curly brackets than square ones, swap them.

I've read once a recommendation about swapping minus and underscore, but I won't vouch for it.

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

Offline
  • 0
  • Reputation: 0
  • From: Spring, TX
  • Registered: 04-Nov-2013
  • Posts: 1

There is now a solution for this: typing.io

It lets you practice typing real code in a variety of languages, and supports Colemak legends on the paid version. I've been practicing with it using Colemak and it has helped me.

Offline
  • 0
  • Reputation: 0
  • Registered: 12-May-2014
  • Posts: 2

So which course is the best for a programmer?

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

Re-reading the thread, it looks to be a good idea to augment your favourite layout with a programming layer that places most used punctuation in the best positions.  Hitting some modifier and Qwerty F, might give you right arrow etc.

Dreymar would probably also suggest a movement layer (modifer and key to get Vim like traversal.)

Or rather design something that works for you and your chosen language.  For me that cripples portability, but defo sounds like a good idea.

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

Offline
  • 0
  • Reputation: -1
  • Registered: 14-Dec-2012
  • Posts: 212

At work when I had to move seats, I did think that I was better off with Dvorak at one point because I had to use a new computer & being windows, Colemak was not installed. Other than the fact that it took me so much time to master the home row with the roles, it not being completely available on all PCs is a drawback for me.
I had to use QWERTY for 2 days till IT could have time to install it for me. :(

Offline
  • 0
  • Reputation: 0
  • Registered: 12-May-2014
  • Posts: 2

Yesterday I found an online touch typing course called SOLO Touch Typing. I guess it could be useful for there is a separate course for numerals.
Also they have a dvorak course but I cannot find it on their website.

Offline
  • 0