Push To Talk Fix - Remapping keys to F13

The Problem

If you're a frequent Ventrilo user like myself, you may have the same problem I did: none of the keys on your keyboard are really useless. So, whichever key you pick as a Push-To-Talk button, you're going to accidentally hit it from time to time. Or you're activating some function you don't need when you speak.

Now, you may mention 'Scroll Lock' or perhaps 'Pause' or some special Windows key, but the problem with those is that even though you don't really need em, programs still respond to them in ways that are undesirable.

The Idea

But wait a minute... How often do you actually use Caps Lock intentionally? It's a leftover from the mechanical typewriter era and you really hardly ever need it. Most modern keyboards also have 2 Windows keys and a popup menu key that not everybody uses.

And some older keyboards and Mac keyboard have F13-F16 keys. But hardly any programs use those. Still, Windows recognizes those extra F-keys. So, if you could remap a key like Caps Lock to be an F13 button: you could use F13 as your Push-To-Talk button, without it affecting anything else!

The Solution

The .reg files below will remap specific keys to F13. If you want to undo the change for some reason, run the bottom .reg file. If your browser shows the contents of the file instead of saving it, rightclick the link and select 'Save As ..'. After running the .reg file, restart your Windows.

My favourite:

And to undo:

Note: if you already have some remapping in place, don't just run these registry files. Whichever one you run, it will always overwrite any old ones already in place. If you experience problems, or have questions, feel free to contact me by grismar@grismar.net. Also note that I cannot be held responsible for any damage you do by running these files on your registry.

The Technical Details

The value that is entered into your registry, tells Windows to remap a specific set of keys. It's a binary registry value, which basically means that's it's not human-readable and needs to be entered into the registry as a series of hexadecimal (hex) values.

The structure of the value is explained in detail the MS Scan Code Mapper for Windows page. It boils down to this: the first eight hex codes are set to 00, since they're unused (version and flags). The next four form a number, indicating the number of mappings. '02 00 00 00' would mean 1 mapping, since the count includes the final null mapping. Then pairs of two hex codes define the mappings, indicating which keycode should replace which key position. For example '1D 00 3A 00' would remap the Caps Lock key (3A) as a Ctrl key (1D).