The free one-handed keyboard

One Handed Typing

After a recent mountain biking accident I found myself typing with my left hand only.   Well, not just typing but doing everything else really.

Figuring that there are plenty of people in this world who are in the same boat permanently or temporarily  I googled around for “the” solution.    The ironically long-named domain www.aboutonehandtyping.com seems to be the Google-elected source on the subject followed shortly by www.onehandedkeyboard.com, half-qwerty.com, and www.bltt.org.  There seems to be a number of hardware solutions like the $600 half-qwerty,  and some proposed soft solutions like turning on left-hand Dvorak.  However i was on the hunt for a free half-qwerty solution for Windows.

My Solution

Ultimately,  I found what I was looking for in a program called AutoHotKey.  This program inserts itself between the keyboard and Windows and allows for customization and scripting.   Best of all, its free and works well in XP and Vista.

I again struck gold to find out the hard part had already been done and a 1-handed layout was created in this discussion.  There are a number of different scripts to do the job in that thread, but I found the most useful one by a user named mbirth.   To use his solution you only need install AutoHotKey and download his script here (mirrored locally too).

Taking it a Step further

I found I wanted to tweak his setup a little to be more left-hand specific so I made these modifications to HalfKeyboard.ahk.

1. Put -_ where `~ is,  =+ where 6^ is, and ‘” where hH were.

Change

  original := "``" . "12345qwertasdfgzxcvb"   ; split up string for better
  mirrored := "'"  . "09876poiuy;lkjh/.,mn"   ; human readability

To

  original := "``" . "12345qwertasdfgzxcvbh6"   ; split up string for better
  mirrored := "-"  . "09876poiuy;lkjh/.,mn'="   ; human readability

2.  Add page-up and page-down as Ctrl-4 and Ctrl-5 by adding these two lines

^4::Send {PgUp}
^5::Send {PgDn}

Ghetto Hardware Solution

Take a much closer look at the keyboard above:

The final step was easy and fun: buy a $20 keyboard and swap the keys around.    I was able to do this 1-handed no problem.    Alternately, you can just hit “Space-F1″ with the above setup to get a map.  Of course changing the keys doesn’t actually do anything.  Its the program that does the work.

Share and Enjoy:
  • Facebook
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Blogosphere News
  • email
  • LinkedIn
  • Print
  • Reddit
  • Slashdot
  • Add to favorites
  • RSS
  • Technorati
  • PDF

Comments

  1. max says:

    Update : I put the keys back in their normal position. It was too hard to hunt-and-peck passwords w/ everything backwards. It did help me learn the new layout faster though.

    Another change that is totally mandatory is to turn off backspace in firefox. Default behavior is to have the backspace key act like the Back button. I hit it by accident and lost all my work a few times.

    Go to about:config and change browser.backspace_action to 2.
    See http://kb.mozillazine.org/Browser.backspace_action for details.

  2. Fred says:

    Thank you!
    Been looking for this for a while.
    Did not want any HW keyboard because I have some
    extra letters in my language and I was not sure if that
    would work. But this does!!

  3. Fred says:

    Re: “you only need install AutoHotKey and download his script”
    Actually – NOT! You only need to unzip the “script” that contains a HalfKeyboard.exe
    and the .ahk script.
    I did not have to download the AutoHotKey … (may be interesting – but not needed)

    Only effect I have noticed: I have to allow space to be a space (be more patient!)
    when using both hands!

  4. max says:

    Good point, Fred. If you don’t want to make modifications to the .ahk file, you don’t need to install AutoHotKey and can use the self-contained .exe.

  5. ambi says:

    Thanx man! I looked for it for a long time.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">