Friday, September 26, 2008

Key Mapper

I wrote an open-source scancode mapping program for Windows - a program which lets you remap and disable your keyboard keys. A sample usage (i.e. my own) disables the Num Lock key, disables the Insert key and remaps Caps Lock to Left Shift. What this means is the Num Lock and Insert keys now do nothing, instead of being subversively annoying (I never want to turn Num Lock or Insert off) and when I press Caps Lock it's as if I have pressed Left Shift (although I occasionally might want to turn Caps Lock on, 99% of the times I do turn it on it's not what I want, I just mashed the A key with my fat finger). Also, I got so fed up with not being able to remember how to get the hash symbol using Windows under Parallels on my MacBook that I remapped the ±/§ button on the MacBook keyboard to it the other day. Much easier to remember. Plus I remap "Left Windows" to "Left Control" under Parallels so I can still use Command-C to copy.

You can find the program's website here - there's an auto-updating version available from the Install page, or alternatively get a standalone build from the project's downloads page on Google Code.

You can also use it to assign keys to things that you may want but which aren't on your keyboard, like starting your email program or browser, or controlling your computer's sound volume.

I'm quite pleased with it as it handles all different keyboard layouts - all different languages, US vs European vs Mac keyboard layout: it has a drag-and-drop interface, lets you browse through the different keyboard languages installed on your computer, and even explores new ground for the (admittedly small) world of scancode mapping programs - you can have per-user mappings (as opposed to mappings which apply to every user) and remap your Pause key to a command which requires two keystrokes (e.g. Windows-L or Alt-F4 or Right-Alt 4 for the Euro symbol)

Here's a screenshot of the program with it's child windows open:

It's funny how such a seemingly shallow subject as keyboards becomes so deep when you get right into it.

No comments: