How-To: Change Your S60 Phone Key Mappings With VirtualKey

26 May
Change your key mappings with VirtualKey.Change your key mappings with VirtualKey.

I recently discovered the S60 gem VirtualKey after going on the hunt for a good key remapping application. It’s easy to use, sufficiently powerful, and best of all, it actually runs on S60 Fifth Edition.

There’s a caveat, however: VirtualKey is an unsigned application, which means you might be in for a world of hurt. More on this after the break.

The Setup

First, as mentioned before, you’ll need to have some way to run unsigned applications. The easiest way is to obtain a developer’s certificate, and this can be done from the OPDA site.

Second, you’ll need the actual program: download it here. The official site is here, but the site’s in Chinese and you need to register to get at the programs. A bit of a pain. Note that this is version 1.00. The latest version is 1.10, but I could not get the several variations of 1.10 working on either my 5800XM or my N97. Maybe S60 Third Edition users will have an easier time.

VirtualKey: Adding different key mappings.
VirtualKey: Changing the key map.
VirtualKey: The Include/Exclude Menu
VirtualKey: You can make your key mappings available to certain applications.
Change your key mappings with VirtualKey.

Changing the Key Mappings

Once you’ve successfully installed VirtualKey, fire it up! At first you’ll see a mostly blank screen that reads “(no data)” – this screen shows your current changed keymaps. Let’s try modifying some keys to test it out.

Click on Options -> Add. At this screen you’ll need to press the key that you want to modify, followed by the replacement key. Special keys that you can’t actually press without activating (such as the Camera and Menu keys) can be found in Options -> Special key.

There’s a lot of potential here for some really cool stuff. You can, for example, change the Volume Up/Down keys to duplicate the functionality of the Menu key (see Things to Remember below if you’re going this route), or remove the functionality of your End Call key by assigning it to something random.

My keymap on the N97 has three entries:

{RFunc} => {LFunc}
{LFunc} => {RFunc}
{Camera} => {No}

This has the effect of swapping my QWERTY keyboard’s Symbol and Function key, and changing the Camera key to act as a Cancel button. Sounds weird, right? I have a bad habit of accidentally hitting my Camera key when attempting to press the Menu button. This way, if I hit the Camera key by mistake, I can then press it again to close it. Sounds silly, I know, but it works.


One nice feature in VirtualKey is the ability to have your new key mappings available or unavailable to certain applications. To access this, go to the Settings page in VirtualKey (in other words, the default page that opens first) – then, tap the right arrow next to it. It should change to Exclude (unavailable to whatever applications), and you can switch to Include by going to Options -> Change mode -> Include. You can’t have an inclusion and an exclusion running at the same time – it’s one or the other.

Adding an inclusion/exclusion is as simple as going to Options -> Add from running or Add from installed, both referring to whether an application is currently open or installed. If you wanted to make a key map only valid in the browser, for example, you’d switch to Include mode and go to Add from installed -> Browser (alternatively, if you have the browser open, you could just do Add from running).

Things to Remember

1. Certain keys can be mapped, but not replaced. Example: any key on the N97 QWERTY that is modified will lose its previous functionality and will only function as the new key. So if I map the Q button to the L button, the L will always come out instead of the Q. However, if you remap the Camera key, it will still automatically run the Camera application. And strangely enough, if you modify the End Call key (normally ends calls and goes back to the Home screen no matter what), it will no longer quit programs, end calls, or return to the Home screen.

2. VirtualKey does not function on the Home screen of S60 Fifth Edition phones. I wasn’t able to test this on S60 Third Edition, but custom key mappings will not work on the Home screen.

3. The Volume Keys on S60 Fifth Edition phones are weird. And by weird, I mean you can’t set them individually. If you attempted this, you might have noticed that the software doesn’t recognize the Vol. Up or Down keys when pressed alone. However, when you press either key, and then slide your finger down so it presses the other, it works. VirtualKey will map the last button you press, so if you press Vol. Up and then slide it to Vol. Down, it’ll think you pressed Vol. Down. I don’t know if this is a limitation of the software, or the firmware, or the phone hardware. Essentially this makes the Volume keys a little annoying to manipulate.

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: