26

I recently broke my finger and can now only type with my right hand. This has seriously impacted my typing speed. Since I write software for a living, this is a serious problem.

I have been doing some research, but haven't found a great solution yet. Here's what I've come up with:

  1. Wacom tablet + hand writing recognition software. Is it possible to write code with hand writing recognition software?

  2. one handed keyboards -- I have only found expensive (> $100) keyboards. These look like they have a steep learning curve.

  3. one handed typing instructions: http://www.aboutonehandtyping.com/manualcompare.html. Does this really work?

What do the one handed coders out there use?

Nick Martin
  • 261
  • 3
  • 3
  • 14
    I suspect that the learning curve for any good method is longer that the time to heal a broken finger. – Beta Dec 03 '09 at 03:00
  • This sounds more like a general computing question, not a programming one. I think superuser is a better fit. – gnovice Dec 03 '09 at 03:09
  • 1
    There are specific programming angles to this, and they may prove helpful to others with more chronic difficulties. – Jim Ferrans Dec 03 '09 at 03:24

9 Answers9

15

If you're a two-hand touch typist, the answer is a "mirrored" layout.

Mirroring lets you begin touch-typing with one hand almost immediately. Pretty crazy how easy it is. Based on the muscle memory you already have.

If you're typing with your right hand:

  • Type all right-hand keys normally.
  • Don't type left hand keys. Instead type the same motion (but mirrored) with your right hand.

So if you want to type:

  • "D" -> type "K" instead.
  • "W" -> type "O" instead.
  • "S" -> type "L" instead.

Same row of keyboard, same finger, same motion. Your muscle memory can already do this... kind of like how you're unable to pat your head and rub your belly at the same time. The wires in your brain are crossing somewhere.

Software to mirror the keyboard as described above:

Hold Spacebar to mirror:

Predictive Text; Automatic Mirroring

pkamb
  • 33,281
  • 23
  • 160
  • 191
3

Regarding one-handed keyboards, I've tried using a frogpad and found it ok for typing text, but unusable for coding. The symbols require several consecutive key presses and I found it impossible to use shortcuts reliably. It was too easy to hit the wrong key and get it stuck in the wrong mode.

walter
  • 31
  • 1
3

Nobody has mentioned ENTI-key aka Coffee++ Layout yet? It is exactly designed for programming with one hand (left). And unlike qwerty, it is even optimized for speed and ergonomics. I used it some years ago for a short while and I don't know if it still works on newer systems. I think I used it for writing CSS: Typing the words with left, typing all those numbers on the numpad with right.

I can not recommend pen+handwriting. I usually use a tablet PC and handwriting code is terrible. I tried it on Windows 8 and Linux with Cellwriter, and both are not bad programs, but I still switch to onscreen keyboard whenever I can. But maybe the problem is my scratchy writing :)

I also can tell from experience that learning a new layout is not as complicated as it sounds. Especially if the layout is more logical than qwerty. I use Neo Layout since 10 years and getting the hang of it went smoothly, I was able to write a blog article after an evening of training. "But what if you have to use qwerty on another PC?" This, also, is no problem, really. My simple trick is to never look at the keyboard when using Neo, but glimpse at it when qwerty-ing.

Good luck to anyone who wants to or has to use one hand for typing!

AnnTi
  • 31
  • 1
2

Now, the time to heal a broken finger will be shorter than it takes to adapt to one handed coding, not to mention the time it takes afterwards to get back to two-handed coding

Also, the time it takes to learn the methods is time you could've spend on coding (read: making a living).

Knowing this, we need a quick-fix, short term solution.

  • First of all, A good IDE, with code completion and similar functionality will help you a lot.
  • Secondly, use the shortcuts of the IDE, remember, there are Shift, Altand Ctrl keys on both sides of your keyboard. (you might want to create a cheatsheet for those shortcuts)

In addition to helping you during your time with your injury, learning the shortcuts will also improve your coding speed when you're back up again.

Now, my comments on your proposals:

  1. Don't, simply, Don't, it'll take even more time to fix writos (typos) beacause recognition will be flaky.
  2. That learing curve will slow you down even more.
  3. Won't even comment on that one...
alexanderpas
  • 2,712
  • 2
  • 23
  • 33
1

A friend of mine broke his wrist snowboarding, and he had reasonable luck using speech recognition software (Nuance Dragon Naturally Speaking). It worked quite well for email and documentation, which would solve a part of your problem.

Another colleague, Nils Klarlund of AT&T, developed a version of emacs hooked into speech recognition. He even had a home-brewed set of foot pedals for doing shift, control, etc. He used this exclusively for years (due to bad carpal tunnel syndrome).

And maybe your feet can take up some of the burden. This is part of a parallel discussion going on in this question.

And off-topic, but extremely interesting, T.V. Raman, who's been blind since the age of 14, wrote a version of emacs that works with keyboard input and audio output. There's a chapter on it in Beautiful Code. I've seen him use it, and it's completely awesome. And of course emacs is a great interface for more than just text editing.

Community
  • 1
  • 1
Jim Ferrans
  • 30,582
  • 12
  • 56
  • 83
  • 1
    1. agreed, speech recognition is good for documentation, yet very unsuitable for actual code 2. well, we're talking about years in that case, which gives a lot more possibilities. – alexanderpas Dec 03 '09 at 03:28
  • I totally agree, especially for a short-term disability like this. But Nils gave me a demo of how he used it for coding, and it worked remarkably well. I think he mastered it in months. This of course leads into the discussion of cubibles vs. sound-proofed private offices though! ;-) – Jim Ferrans Dec 03 '09 at 03:34
1

Mirrorboard

personaelit
  • 1,633
  • 3
  • 31
  • 59
1

If you anticipate that your left hand will be out of commission for a long while, and if it's worthwhile for you to learn a new layout, then there exist one-handed Dvorak layouts.

There's some information at PC Guide: Single-Handed Dvorak Alphanumeric Layouts.

There also once was software for Qwerty Half Keyboards that used the space bar as an extra shift key that reversed the keyboard.

Good luck with your injury!

Chip Uni
  • 7,454
  • 1
  • 22
  • 29
0

We have a developer in the office that lost mobility in his right hand and probably won't gain back full use of it. He has mainly learned to type well with his left hand and kind of fill in for his right hand. Although he lets his right hand kind of peck for things. He has gained enough speed back for it not to affect his day too greatly from what i can tell.

Only thing i can think of that might let you speed up some while typing with one hand and maybe being able to get a key or two with the other hand might be to use an IDE instead of text editor if you already don't, so you can use tab completion. Kind of a lame solution if you don't like IDEs or just don't have that option in your work environment but might help out a bit.

0

The same thing happened to me (I destroyed my left pinky). At the time, I didn't touch type, so my only use for my pinky was left-control, left-shift, and caps-lock.

This sounds as if it just happened to you. I promise you'll quickly learn to compensate. Remember, it's quality, not speed, that counts most.

Perhaps you should seize the opportunity and read to improve yourself as a programmer. Or spend some time debugging.

Dolph
  • 49,714
  • 13
  • 63
  • 88