The free one-handed keyboard

Written by max on 2008-10-06

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 seems to be the Google-elected source on the subject followed shortly by,, and  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.


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


  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.