Friday, February 27, 2009

Add Scroll and Media Keys to Microsoft Natural Ergonomic Keyboard 4000

The Microsoft Natural Ergonomic Keyboard 4000 is a fantastic keyboard for programmers and typists. in general However, the keyboard has some minor shortcomings:
  • Zoom slider in the middle of the keyboard is a bit useless
  • There are no Previous Track and Next Track media keys

Fix 1: Change the Zoom slider to a Scroll slider
  1. Open the file C:\Program Files\Microsoft IntelliType Pro\commands.xml.
  2. Find the XML tag ALL then sub-tag labeled Application with the attribute UniqueName set to StandardSupport (in my case the correct Application tag was right below the All tag).

  3. Change the ZoomIn to ScrollUp and the ZoomOut to ScrollDown. End result should look similar to below.

  4. Save the file and restart your computer.
Now the Zoom slider now scrolls instead of zoom!

Note: The behavior is still a little strange in Firefox, and Internet Explorer still zooms.

Fix 2: Adding Special/Media Keys to the My Favorite keys

Note: The next fix will involve the registry, continiue only if you feel comfortable working with the registery and after you make a backup the registry.

To change the "My Favorites" keys (labeled 1-5) we need to look at the registry.
For this example we want to assign the Next Track (0x2BF) to My Favorite key 1.

Note: The folder icons in the Registry Editor are called keys. The icons that look like scraps of paper are called values.
  1. Start | Run... | Command: regedit
  2. Open the registry key: HKEY_CURRENT_USER\Software\Microsoft\IntelliType Pro\EventMapping\
  3. In here you should see a couple folders numerically numbered.

    My Favorite Key 1 - Registry Key 78 - Notepad Shortcut

    My Favorite keys 1-5 correspond to the registry keys 78-82

  4. If registry key 82 (keyboard key 5) doesn't exist, right click on EventMapping key New | Key and name it 82
  5. Open registry key 82, if there is anything besides the (Default) value delete them.
  6. Right click on registry key 82, New | DWORD Value
    Name: Command
    Value: 2BF
    Base: Hexadecimal

    End Results

  7. Close the Registry Editor and you're done! (No need to restart the computer).
Below I provided additional special keys you can set to your Favorite keys (note I wasn't able to test all of them but most of them seem to work, comment below if you find any more!).

064(100) - Back
065(101) - Forward
066(102) - Refresh
067(103) - Stop
068(104) - Search
069(105) - Favorites
06A(106) - Web/Home

0C8(200) - Cut (Ctrl+x)
0C9(201) - Copy (Ctrl+c)
0CA(202) - Paste (Ctrl+v)
0CB(203) - Undo (Ctrl+z)
0CC(204) - Redo

12D(301) - Exit
12E(302) - Help
12F(303) - Show/Hide Desktop
130(304) - Next window
131(305) - Previous Window
132(306) - Log off
133(307) - New
134(308) - Open
135(309) - Close
136(310) - Print
137(311) - Save
138(312) - ???
139(313) - ???
13A(314) - ???

Windows (cont.)
13B(315) - Find
13C(316) - Lock Workstation

13F(319) - Zoom in
140(320) - Zoom out

191(401) - Spell Check

2BF(703) - Next track
2C0(704) - Previous Track
2C1(705) - Stop (media)
2C2(706) - Play/Pause

Windows (cont.)
321(801) - Mail
322(802) - Media
323(803) - Calculator
324(804) - My Computer
325(805) - My Documents
326(806) - My Pictures
327(807) - My Music
328(808) - Messenger
329(809) - Calendar

384(900) - Reply
385(901) - Forward (email)
386(902) - Send

Office Programs
3E8(1000) - Word
3E9(1001) - Excel


  1. very handy man thanks, this was driving me nuts.

    purely for curiosity, do you know how I could implement this in a powershell script? If, rather than implement a dword as a command I gave it a path to a ps file, in that script, any ideas what I would use?

  2. Great tip on Fix 1. On Fix 2: later versions of the microsoft mouse and keyboard center have the ability to set "Media controls" for next and previous track. I assigned these to the little left/right buttons at the front of the keyboard.