I was tired of having to use both hands to type on the keyboard, and complaining about it to a friend one day, he linked me to this post http://blog.xkcd.com/2007/08/14/mirrorboard-a-one-handed-keyboard-layout-for-the-lazy/ on the XKCD blog about “Mirrorboard”; the authors own thoughts and software-solution to the problem, which was pretty awesome. But there was nothing for Windows, to which my friend replied: “Just make your own then..”, so I put it on hold for the time being.
Later when I was looking into how to make macros for the game League of Legends, I first thought of AutoIt, since that was what my friend used for small scripts; however I had problems with the keys not being picked up by the game.
Then I found AutoHotkey which was picked up by League of Legends perfectly. I even found a script on the AHK forums by Posezion, making the numpad keys quickly write game lingo like “miamid” or “buy wards”, and provided with the sourcecode, one could easily figure out how to customize the little program to suit ones own needs; I made numpad 9 input “[enter] MUUNDOOOEEH [enter]” (open chat, write message, post and close chat), since I obviously needed a hotkey for that.
The awesome thing about AutoHotkey (and AutoIt) is that you can compile the scripts into executable .exe-files so other people won’t have to install any software to run them. NB: I highly advice against running executables on your computer from sources you do not trust 110% which is also why I’ve included the sourcecode for you below so you can compile it yourself.
Rethinking my original problem at a later time, it suddenly occurred to me that I now had the necessary example-code to make my alternate keyboard! So wielding the mighty power of understanding the incredibly complex syntax,
"Button to be intercepted" :: "Button to be pressed instead"
a::b #pressing a gets intercepted and inputs b
– and how to suspend the script, I wrote the script which is downloadable below, both as the executable, and the source if you’d like to play around with it, or just compile it yourself if you’re into that kind of stuff.
I later saw that a user had added a link to his own post about an AutoHotkey script in the comments on the XKCD blog, but although it’s only on about 20 lines, and doesn’t get longer when you add keys (which undoubtly is a cool feature), I didn’t think it seemed transparent to a newbie what is happening, and I like the option to be able to add a custom script to a key. It was also enabled by holding down the space bar, whereas mine uses XKCD’s Caps Lock toggle.
My script works by using the Caps Lock as a toggle button for inverting the left side of the keyboard.
This means it intercepts caps-lock, so if you actually want to toggle it, use Shift + Caps Lock. Contrary to the one on XKCD, I’ve also added the number row above the letters, with ½-key (above Tab) being Backspace (on a “danish” keyboard!)
The script can be found on the link below, if you want to compile the source you will need to install AutoHotkey, otherwise you can just run the executable. You close it by right-clicking on the task in the lower right-hand corner and clicking Exit.
The aforementioned and long-awaited link to the script deeply inspired by XKCD’s, with syntactical help from Posezion’s example,
“Original XKCD” US-version (source)
“Original XKCD” US-version (executable)
Edit: Depending on your keyboard layout, you might experience some problems with the mirrored Backspace. Since I’m using a danish keyboard, the button above Tab is ½. The one on the XKCD site is a tilde: ~, after that being pointed out by a clever troll I added a version _XKCD using ~ as backspace when inverted.
I left out the “press spacebar for mirror-enter/return” in the very first version, this has been added, to both versions, as well.