we get signal

2007-02-06

Mouse at Tplus 2 months: Intellipoint Hacking

(tags Windows, hardware, mouse, Registry, customize)

I got fed up with setting the 5th button on my Microsoft Wireless Notebook Presenter Mouse 8000 to backspace via that Gaming Toggle feature. On a whim I 'net searched "intellipoint hacking", and I got the clue I needed at "The world according to Tim"'s post, "how to hack custom keystrokes in intellipoint". I extended what he blogged and I came up with this summary:

The Intellipoint software for version 5 and 6 stores its settings in the registry HKCU\Software\Microsoft\IntelliPoint. The really interesting sub-tree is the EventMapping branch, which defines the global actions when you press a mouse button. In it, the 5 mouse buttons are defined respectively:

Intellipoint 6.x setting pane, with respective Registry entry highlighted

Since my troublesome button is the "Right side button", I dove into the EventMapping\8 entry. There are 3 entries, Setting, Keystroke and KeystrokeText. Since the hack first involves setting the button to the Keystroke... command, subkey "Setting" is set to dword:0000019c which I guess means Keystroke action. The "Keystroke" subkey can be anything that corresponds to "Virtual Key Codes". These are the message events that Microsoft defines to represent keyboard input, and which by sweet fortune, the Intellipoint mouse driver exposes a user-settable registry entry for input injection.

So, I want to insert a Backspace every time I hit the "Right side button", therefore I use the VK_BACK virtual key code, 0x08. I figured out through experimentation that ALT, CONTROL, and SHIFT modifier keys can be specified as 0x400, 0x200, and 0x100, respectively. However it's not necessary for my setting.  Therefore "Keystroke" subkey should be set to dword:00000008. Finally, the "KeystrokeText" is user-oriented data that can be set to anything. I set it to "VK_BACK (Backspace)". These settings are effective immediately, and now my mouse acts like it did in Intellipoint 4.x software. Sweet! The final display is shown above.

My mouse has other input features, such as the wheel side rocking, presenter mode button, and on the bottom of the mouse, "PowerPoint slide forward", "PowerPoint slide back", Volume Decrease, "PowerPoint slide start/pause" and Volume Increase. Unfortunately I do not know how to hack these buttons, though.

This "hacking" stuff may not be able to be done in Windows Vista, though I don't know for sure. It all depends on the drivers.

On a related tip, I received the final message from the Mado Tsukai no Yuuutsu developer announcing the stopping of development. The announcement also mentioned that this key remapping tool probably won't work on Windows Vista due to the different driver model.