Change Zoom Action to scroll in a MS Natural Keyboard 4000

Solution 1:

I know this is an old question but I had to work this out for myself so it's worth spreading:

Unfortunately, the Ergonomic keyboard config utility doesn't allow you to change the settings for the centre zoom button. In order to do so, you will have to edit the C:\Program Files\Microsoft Intellitype Pro\commands.xml file manually. (For computers running the more recent Microsoft Mouse and Keyboard Center the path is C:\Program Files\Microsoft Device Center\commands.xml)
N.B. the contents of this file change depending on which version you have so make sure you have the same version as me before you try. The version number can be found at the top of the Commands.xml file. My version is:- 8.0.225.0 If this explanation gets too basic, it's because I don't know how much you know about Windows or config files.

First thing to do is make a copy of the Commands.xml file, that way if you mess up it's repairable. Simplest way to do this is to copy and then paste it straight back into the same directory, Windows will call it Commands - copy.xml. If you mess up, just delete Commands.xml and rename Commands - copy.xml to Commands.xml

Second, open the original file to edit it (right click -> edit) and insert the following lines in between 2 entries towards the bottom of the file (under the <ALL> element, which comes last):

    <Application UniqueName="MozillaUIWindowClass" AppName="Firefox">
        <C319 Type="6" Activator="ScrollUp" />
        <C320 Type="6" Activator="ScrollDown" />

The end of your commands.xml file should end up looking something like this:

    <Application UniqueName="GeminiWindowClass" AppName="RealOne Player">
        <C309 Type="5" KeySeq="alt F4" />
    </Application>
    <Application UniqueName="MozillaUIWindowClass" AppName="Firefox">
        <C319 Type="6" Activator="ScrollUp" />
        <C320 Type="6" Activator="ScrollDown" />
    </Application>
    <Application UniqueName="GMail" AppName="GMail">
        <C204 Type="5" KeySeq="ctrl y" />
        <C309 Type="5" KeySeq="ctrl w" />
        <C319 Type="6" Activator="IEZoomIn" />
        <C320 Type="6" Activator="IEZoomOut" />
        <C401 Type="0" />
    </Application>
    <Application UniqueName="LiveHotmail" AppName="Live Hotmail">
        <C204 Type="5" KeySeq="ctrl y" />
        <C309 Type="5" KeySeq="ctrl w" />
        <C319 Type="6" Activator="IEZoomIn" />
        <C320 Type="6" Activator="IEZoomOut" />
        <C401 Type="0" />
        <C900 Type="5" KeySeq="ctrl r" />
        <C901 Type="5" KeySeq="ctrl shift f" />
        <C902 Type="5" KeySeq="ctrl enter" />
    </Application>
    <Application UniqueName="Picasa" AppName="Picasa">
        <C319 Type="5" Activator="pageup" />
        <C320 Type="5" Activator="pagedown" />
    </Application>
</ALL>

Now I know that there is already a Firefox section in this file near the top, however, when I tried inserting the scroll entry up there it wouldn't work, as though some setting further down was overriding the entry. Go figure.

To get the zoom to work correctly in Firefox use the following lines instead:

<Application UniqueName="MozillaUIWindowClass" AppName="Firefox">
        <C319 Type="5" KeySeq="ctrl +" />
        <C320 Type="5" KeySeq="ctrl -" />
    </Application>

Good luck.

Solution 2:

You can also use notepad++ and the Replace Dialog(Ctrl+F and select Replace tab). Check "Regular Expression" in the bottom left side of the dialog and use these to remap the zoom key:

Find what: <C319 .* />
Replace with: <C319 Type="6" Activator="ScrollUp" />

Find what: <C320 .* />
Replace with: <C320 Type="6" Activator="ScrollDown" />

Side note: the process is now called itype.exe. Close the process and restart it(Task Manager->File->Run new task-> "itype.exe") for the changes to take effect.

Solution 3:

To build on top of Tog's answer, here is a script that does the replacements automatically for you. It is basically an XSL transform applied to the commands.xml file. And it does the backup for you.

http://teamagile.com/downloads/ZoomToScroll.zip

Look inside for the instructions. Keep in mind, you may have to run the script inside an administrator command prompt if you have UAC enabled.

I tried it on a v8.20.469.0 file and it worked as expected.

This script is not made by me, it's made by Roy Osherove. See original source