Hack the Microsoft Natural 4000 keyboard

Posted by Andy Atkinson on April 29, 2006 | Post type: Gain

Microsoft Natural 4000 Zoom slider

The Microsoft Natural Keyboard 4000 is by far the nicest keyboard I have ever used [Tech Freaks Review] [PC Magazine Review]. I highly recommend this keyboard to anyone that spends a lot of time in front of a computer. Like many others, I noticed the dominant "Zoom" slider button on the front of the keyboard and have wondered why Microsoft did not make this slider customizable through the driver software. It turns out that with a slight modification, the zoom slider can turn into a scroll slider.

The "Zoom" slider button merely duplicates the command to increase font size in Firefox, or magnifies the view in Microsoft Word for example, under its default behavior. This is not very useful, as these tasks are carried out by keyboard commands or mouse strokes quite easily.

The zoom slider is positioned perfectly to be used as a scroll wheel like the one found on older IBM mice, however this is not a possible customization through the user interface, but is possible by modifying a configuration file that the Microsoft driver uses to map actions coming from user input.

1) Edit the configuration file

What you want to do first is open commands.xml in the "Microsoft IntelliType Pro" folder found in "Program Files." The screenshot below shows the location of this file. The location or name of this file may change over the life of this article, however the basic idea is that there should be an XML file that maps keys and values, which one should be able to edit.

Edit the commands.xml file in the IntelliType directory

2) Change ZoomOut to ScrollDown

Open the file in any text editor, MS Notepad will do. Search for "ZoomOut" and you will find many instances of this "value". Here you can change the default behavior for specific applications, or change the default behavior of the slider button in all applications. In order to change the behavior for all applications, you will need to find the instance of ZoomOut and ZoomIn that are not within any specific Application tags. In my text editor the two values I needed to update were on lines 1609 and 1610.

The following screenshot shows the values after they have been updated. You can update every instance of these values, but pay attention to which applications are affected (you'll see this in the AppName="" tag).

You may want to back-up commands.xml before you make the update, if you are unsure about your changes (however you can always grab a new copy from the CD or download the driver package from Microsoft again).

Update the values

3) Restart the keyboard driver

Now you simply need to restart the keyboard driver. You can restart the type32.exe driver, or restart Windows (which is easier). Once the driver is restarted, verify that you can now scroll up and down with the slider button. You may want to increase the scroll speed of the slider, which you can do through the Microsoft driver user interface.

Additional notes

You may be tempted to map this button to "Page Up" and "Page Down," remember you already have dedicated keys for this, the slider as a scroll button works best for fine scrolling, since the scroll speed is not very fast. Remember that your mouse cursor must be over the application you want to scroll in. If your mouse cursor is not over Firefox for example, the slider will not scroll.

Update June 19, 2006: I had to reinstall Firefox to get it to pick up the new configuration file changes. Internet Explorer picked up the changes right away. This is likely because I changed the generic tag from "Zoom..." to "Scroll..." before upgrading, but Firefox was not reading this configuration until the new version was installed. I'm scrolling once again.

Update September 17, 2006: Driver download link

Thanks to this forum post for making this "Tip" possible.

About the author(s)

Andy started Pain in the Tech in 2005 as a way to share tips and tutorials with friends and family, and evangelize great products and services. By 2008, Pain in the Tech had 7 contributors, thousands of daily page views. Site ownership was transitioned to Matt Thommes in 2008.


# Karl at 4/30/2006 10:42 am cst
Does it have drivers for the Mac?

Quick Link to this comment: http://TTIP.me/c4014

# Andy Atkinson at 6/19/2006 6:53 am cst
Yes this keyboard is supported on OS X. Specifically: Mac OS X version 10.2.x to 10.4 (excluding 10.0and 10.1) (at the time of this writing). You can Google for the driver link, or [find it here](http://www.microsoft.com/downloads/details.aspx?FamilyID=84bdf38f-efbf-4d31-a0b4-e603a3db5ac8&displaylang;=en). Disclaimer: I haven't tried this driver or hack on OS X, but I'm assuming the driver will use the same XML configuration file.

Quick Link to this comment: http://TTIP.me/c4031

# Kevin Murray at 6/30/2006 3:58 pm cst
Awesome article - first Google link that appeared for my limited search criteria, and gave me exactly what I was looking for. Many thanks indeed.

Quick Link to this comment: http://TTIP.me/c4051

# Sga at 7/20/2006 5:28 am cst
Modified XML in a minute and now it scrolls! Thanks!

Quick Link to this comment: http://TTIP.me/c4022

# Stephen at 8/1/2006 12:59 pm cst
Is there a command that one can add so that the hot key buttons opens up the favorite in a new IE window?

Quick Link to this comment: http://TTIP.me/c4076

# Paul Cohen at 8/29/2006 2:19 pm cst
Great hack, but I can�t seem to get it working for Outlook Express (even when I edit the outlook express part of the coding). I was also wondering if it is possible to program this keyboard to have forward/backwards features for Windows Media Player. My old keyboard had forwards and backwards buttons that allowed me to press them from any application and change the song. Any ideas?

Quick Link to this comment: http://TTIP.me/c4085

# Joshua Giese at 8/29/2006 2:33 pm cst
I wanted to buy one of these so bad. I have really bad wrists, so I was looking at this keyboard. the scroll wheel on the mouse KILLS my fingers. I wasnt going to buy this keyboard until I know it zoom slider was hackable. thank you for posting this how to. Im off to buy the keyboard now.

Quick Link to this comment: http://TTIP.me/c4087

# JD at 8/31/2006 11:10 pm cst
Thanks so much for posting this. I've always wondered why MS doesn't put scroll wheels on their 'Natural' keyboards. If it wasn't for this article, I would have returned the 4000 since the Zoom slider is worthless to me. I thought I'd pass along a couple of issues I had in case others have the same problem..... For reasons unknown, IntelliType created my installation directory with System only privileges. I could not modify my commands.xml. I would get an 'access is denied' message even though I have Admin privileges. With Windows XP Home, you have to boot in Safe Mode (press F8 when Windows is loading) to change file security settings. But the 4000 keyboard, like many other keyboards, won't work until Windows is already loaded. (Actually this is also related to the fact that my keyboard is plugged into a USB hub and not directly into the computer.) To force the computer to boot into Safe Mode, you need to edit your boot.ini file: *DANGER! Messing up this file can render your computer useless. Proceed only if you have system recovery options available.* Right-click on MY Computer in the Start menu. Select Properties. Click the Advanced tab. Click Settings for the Startup and Recovery section. Click Edit to edit the startup options. This will display your BOOT.INI file. Add the following line directly after the [operating systems] line. NOTE: Your boot partition my be in a different location so modifications may be necessary (and this should all be on one line). multi(0)disk(0)rdisk(0)partition(1)windows="Safe Mode" /safeboot:minimal /sos /bootlog Here's my final BOOT.INI file: [boot loader] timeout=15 default=multi(0)disk(0)rdisk(0)partition(1)windows [operating systems] multi(0)disk(0)rdisk(0)partition(1)windows="Safe Mode" /safeboot:minimal /sos /bootlog multi(0)disk(0)rdisk(0)partition(1)windows="XP C" /NoExecute=OptIn Save BOOT.INI and restart the computer. You'll now be able to modify the file permissions for commands.xml. When you're done, remove the Safe Mode line you added to BOOT.INI and reboot. Also, my commands.xml had a section specific to Internet Explorer. I had to change it to get scrolling working in IE. Look for 'AppName="Internet Explorer"'

Quick Link to this comment: http://TTIP.me/c4088

# Andy Atkinson at 9/7/2006 7:55 am cst
Hi Paul. I can't get the 4000 to scroll in Outlook either, it still adjusts the text size (zoom). I just reinstalled Windows at home so I'll test this out and try to get back to you in a few days. I'm sure it's possible to program a button to skip songs in Media Player, I'm doing this now with my MCE remote, so it's just a matter of making one of the keyboard keys map to whatever command the MCE remote is executing. I'll dig into this a bit too and let you know if I can make these work.

Quick Link to this comment: http://TTIP.me/c4100

# Paul Cohen at 9/8/2006 9:54 am cst
It is possible to skip through media this without adjusting the key map. Just go into the microsoft keyboard change a button to track forward (I did it with the calc. button). I also was able to get it to scroll up and down in outlook by adjusting the settings for the outlook inspector program (or something similar to that) in the command file. Now it works great!

Quick Link to this comment: http://TTIP.me/c4101

# Anonymous at 9/15/2006 2:40 pm cst
Are there any Win98 drivers for this keyboard? Would it just work in Win98 without all the bells/whistles?

Quick Link to this comment: http://TTIP.me/c4114

# SirCasey at 9/16/2006 3:52 pm cst
This is terrific. I just got the 4000 keyboard yesterday and was wondering why the heck they wasted a perfectly good keyboard location and feature on something completely worthless as 'zoom'. However, I inadvertantly found this looking for an answer to another problem I was having with my laptop that I'm not even going to use the 4000 keyboard with. For some reason, my laptop just started constantly zooming in on everything I had open. Any web page opened, any Word document, etc, all rather quickly zoomed in the the maximum zoom, everything was huge. It was like CTRL-Scroll was constantly going and zooming in. Restarting didn't help. Anyway, I fixed it by killing and restarting the type32.exe. Just in case that helps anyone else who looks for "type32 zooming problem" like me :) Thanks again! ~SirCasey

Quick Link to this comment: http://TTIP.me/c4117

# Josh at 9/17/2006 12:51 pm cst
Has anyone been able to get this keyboard to work with iTunes? I cannot get it to pause the track when I press play/pause it pauses for bout half a second and comes right back to play. Josh

Quick Link to this comment: http://TTIP.me/c4115

# Andy Atkinson at 9/17/2006 4:42 pm cst
I just downloaded the Intellitype 5.5 drivers and [iTunes 7](http://paininthetech.com/itunes_7_for_windows_review). I haven't changed the XML file yet, but the Play/Pause button is working as expected in iTunes 7 so far. Hopefully the updates to the XML file don't clobber the functionality of the Play/Pause button on the keyboard.

Quick Link to this comment: http://TTIP.me/c4118

# Josh at 9/18/2006 6:58 am cst
I just needed to update to the 5.5 version of the drivers, Problem solved, not sure why I didn't think of this first.

Quick Link to this comment: http://TTIP.me/c4119

# Josh at 9/18/2006 7:09 am cst
Though this may already be known to some, if you open Microsoft keyboard from the start menu you can adjust the rate of Zoom, which combined with this hack adjusts the rate of scroll. Cranking it up to the highest setting is just about right for me.

Quick Link to this comment: http://TTIP.me/c4120

# Chris Benard at 9/22/2006 12:06 pm cst
Just put this in a registry file (.reg) and double click on it. It will allow you to use the 4 and 5 keys on My Favorites to do Previous Track and Next Track. Windows Registry Editor Version 5.00 [HKEY_CURRENT_USERSoftwareMicrosoftIntelliType ProEventMapping] [HKEY_CURRENT_USERSoftwareMicrosoftIntelliType ProEventMapping81] "Command"=dword:000002c0 [HKEY_CURRENT_USERSoftwareMicrosoftIntelliType ProEventMapping82] "Command"=dword:000002bf Chris

Quick Link to this comment: http://TTIP.me/c4126

# Andy Atkinson at 9/25/2006 7:24 pm cst
Works great Chris! Thanks.

Quick Link to this comment: http://TTIP.me/c4127

# linuxgoober at 9/30/2006 5:10 pm cst
Big Thanks dude!!

Quick Link to this comment: http://TTIP.me/c4137

# Lunasea at 10/1/2006 8:49 pm cst
This was very handy, I was going to dig around the files to change the zoom button but this will save me the headache! ALthough this is a great keyboard, it was funny that M$ would throw some uselesss stuff on this keyboard.. The zoom control was one, I thought that was silly, but after this fix its resolved; the other was a dedicated calculator button. While it can be remapped, thats still something that is best left to me hitting WINDOWSKEY+R and type calc. Faster for me that way then moving my hand to hit that calc button. All in all, its a great keyboard, tho personally at this point, I would have liked it if they ditched the calc button altogether, and replaced it with a foward and reverse media key buttons that work as global hotkeys without having player focus (at least that support winamp like the play/pause key). Also, would it be too much to ask for companies to stop using green LED's and use a nicer color like blue or red? While the palm rest is soft and comfortable, lets see what it looks like a month from now of heavy use.

Quick Link to this comment: http://TTIP.me/c4143

# Hari at 10/2/2006 11:28 am cst
I was wondering about this same issue right from the start and searched around in the user interface for it. When I realized it was not supported, I did a search hoping someone solved this problem, and the first hit was this article. The changes took immediate effect and seem to work in most of the applications (including firefox, eclipse and gvim) immediately.

Quick Link to this comment: http://TTIP.me/c4145

# Hari at 10/2/2006 11:37 am cst
I think mapping ZoomOut to ScrollDown and ZoomIn to ScrollUp is more intuitive as pressing Down arrow scrolls down and Up arrow scrolls up (which is what I kept doing, pressing the slider down to mean "scroll down" after making this change). Just my 2c.

Quick Link to this comment: http://TTIP.me/c4146

# kawamall.com at 10/7/2006 7:17 pm cst
I had iTunes v6 and was using 5.2 version of the Microsoft IntelliPro drivers. I followed the advise and upgraded to 5.5 and now I can play and pause the iTunes like a charm. Thanks :)

Quick Link to this comment: http://TTIP.me/c4147

# Hari at 10/10/2006 6:34 pm cst
I configured the slider to scroll instead of zoom, and it works great as I reported earlier. I have the zoom control set to max speed and have accelerated zooming enabled, but I am finding that the speed of scroll is too slow for my taste, enough to reach the mouse and just use the scrollbar instead of keeping the slider pressed. I also don't find any acceleration taking place. In general, I find that the keyboard repeat rate is too slow compared to my old keyboards (again, I set the keyboard repeat rate to maximum), so I don't know if these are related. Is there anyway I can push these speeds beyond what the UI allows? I couldn't find any information by doing a web search, so would really appreciate any help.

Quick Link to this comment: http://TTIP.me/c4151

# Andy Atkinson at 10/11/2006 8:26 am cst
Quick answer: you could remap it to `PageDown` and `PageUp` to scroll by whole pages at a time. Backup your `commands.xml` first. There is probably a registry entry relating to scroll speed, but I don't know where that is.

Quick Link to this comment: http://TTIP.me/c4154

# Anonymous at 10/12/2006 2:08 pm cst
How can I assign a key combination to the zoom slider and "stop track" button to use in alll applications? for example I want "ctrl +" and "ctrl -" for the slider (because it does not work in flash) and "ctrl /" for stop track.

Quick Link to this comment: http://TTIP.me/c4158

# Anonymous at 10/14/2006 11:02 am cst
I tried changing this node in commands.xml <ALL> ... <Application UniqueName="StandardSupport"> ... <C319 Type="6" Activator="ZoomIn"/> <C320 Type="6" Activator="ZoomOut"/> ... </Application> ... </All> to: <C319 Type="6" Activator="ctrl +"> <C320 Type="6" Activator="ctrl -"> and: <C319 Type="6" KeySeq="ctrl +"> <C320 Type="6" KeySeq="ctrl -"> but they both had the same effect: crashing itype.exe

Quick Link to this comment: http://TTIP.me/c4160

# Z-Man at 10/27/2006 1:36 am cst
Excellent hack. I've had this keyboard for almost a year and just now found some use for the slider. Now if I could only figure out how to back light this thing... Quite difficult to type on a black keyboard in the dark.

Quick Link to this comment: http://TTIP.me/c4179

# LBippity at 11/8/2006 9:25 am cst
I followed the directions exactly to change my zoom bar to a scroll bar and restarted my computer but the zoom button still works as a zoom button, not a scroll bar. Help! Thanks!

Quick Link to this comment: http://TTIP.me/c4193

# IJW at 11/8/2006 9:26 am cst
An earlier comment re: slider zooming entire screen instead of program content (e.g., Word text) is a problem I have now after a recent MSOffice update for MacOSX. Zoom function blows up the screen, yet still works properly in Safari browser. A real pain if you do a lot of text and spreadsheet editting!! The "type32 zooming problem" is not applicable for OSX as far as I know. Any suggestions for this problem in OSX vers. 10.4.8??

Quick Link to this comment: http://TTIP.me/c4194

# Andrew at 11/25/2006 10:56 am cst
I have just purchased a Microsoft Natural Keyboard 4000. Am still getting used to it, so far very very good and sincerely hope it is a useful aid in sorting out my RSI. I would prefer to connect it via a PS2 port. Win XP only recognises this keyboard when attached to a USB port. Is it feasible to try to get this to work or is it a waste of time?

Quick Link to this comment: http://TTIP.me/c4232

# Andy Atkinson at 11/25/2006 11:40 am cst
The [system requirements](http://www.microsoft.com/hardware/mouseandkeyboard/ProductDetails.aspx?pid=043&active;_tab=systemRequirements) page for this keyboard mentions USB only. If you need more USB ports and you have expansion room, I recommend adding an expansion card, available for [as little as 10 bucks](http://www.newegg.com/Product/Product.asp?Item=N82E16815124007). Regarding RSI, my wrist problems have more to do with mice than keyboards. I recommend a "really fast" mouse ([mine](http://www.newegg.com/Product/Product.asp?Item=N82E16826105183)) to minimize movement, or better yet a [ball mouse](http://www.newegg.com/Product/Product.asp?Item=N82E16826104156) (but I don't like the thumb one personally).

Quick Link to this comment: http://TTIP.me/c4234

# chris at 11/25/2006 5:47 pm cst
so the zoom -> scroll is a little slow, still it comes in handy when you need a quick scroll to keep from taking your hand off the keyboard. My question is probably really easy for you, i use a mac at work, and on the keyboard, there is a "Clear" button, and an "Eject" button on the top of the number keys. How would i go about changing the Equal key on the row above the number pad to something like say... "escape" so that it will clear the calculator, and the 'backspace' key in the same row to eject? the backspace key on the keyboard is in close enough proximity to the number pad to not require the separate number key, and since i don't write many formulas very often (ever) i don't need an equal key (plus, enter is right there anyway). Would appreciate this very much. Would this be a registry hack or editing the same XML file? Great page!!

Quick Link to this comment: http://TTIP.me/c4235

# Grey Knight at 11/27/2006 7:21 am cst
You have to change the "Type" attribute to "5" if you want to send keystrokes. For example:

Quick Link to this comment: http://TTIP.me/c4213

# Chris at 11/28/2006 12:33 pm cst
thanks for the tip! would you happen to know what the ID (like C000) for the Equal and backspace keys above the number pad to change their commands? I cant seem to figure out how they're mapped, seems almost random.

Quick Link to this comment: http://TTIP.me/c4242

# Christian at 11/30/2006 5:16 am cst
If you make the mouse scroll more then one line, scrolling with the zoom slider will be faster. I dit it like this: open "Control Panel", choose "Mouse", select the mouse wheel tab and set the line count i.e. to "3". This works well under Windows XP with a standard mouse with a scroll wheel. Enjoy!

Quick Link to this comment: http://TTIP.me/c4245

# Christian at 11/30/2006 5:48 am cst
Run regedit and set the wheel scroll lines: HKEY_CURRENT_USERControl PanelDesktop Set the value i.e. to 3: WheelScrollLines REG_SZ 3

Quick Link to this comment: http://TTIP.me/c4246

# Christian at 11/30/2006 5:50 am cst
Serch the commands.xml file for MozillaUIWindowClass and make it look like this:

Quick Link to this comment: http://TTIP.me/c4247

# aaron at 12/2/2006 11:49 am cst
I've not been able to track down the location of the XML file to be modified--neither the file name or searches for its contents have returned any hits. Where were you able to track it down? Thanks in advance, AG

Quick Link to this comment: http://TTIP.me/c4249

# Kavey at 12/7/2006 3:27 am cst
I have this same problem with my Dell D620 laptop. I use an MS Natural 4000 Pro attached to the dock at work, but Intellitype has altered some of the functions of the inbuilt laptop keyboard - when I use fn+F8 to control video output, i get into the infinite Zoom loop which is hugely frustrating, and additionally, other things don't work - like fn+DOWN which decreases brightness, also brings up MSN Messenger, fn+LEFT which toggles auto-brightness brings up MS Word etc. Does anyone know how to decipher the commands.xml to solve this - I am guessing this is the culprit. I can see what keys do within applications, but not necessarily from the desktop (though these seem to be universal hotkeys). If anyone has any advice, I can be reached at asam 'at' kaveman 'dot' org. Asam

Quick Link to this comment: http://TTIP.me/c4252

# John at 12/9/2006 5:56 am cst
I like the keyboard but I need one that works in the ps2 slot so I can access my bios from time to time.I tried a usb-ps2 adapter but still no go.Im surprised more comments have not been posted about this issue.

Quick Link to this comment: http://TTIP.me/c4254

# Andy Atkinson at 12/9/2006 11:53 am cst
Hi John. I have an older nforce chipset motherboard and I am able to access my BIOS with the 4000 keyboard hooked up via USB. I'm sure it varies by motherboard, but I think most these days support USB peripherals like keyboards and hard drives, without loading the drivers in the operating system.

Quick Link to this comment: http://TTIP.me/c4255

# Anonymous at 12/10/2006 4:55 am cst
That worked well, thanks Just one small problem: what is the code for the "stop track" key so I can give it a key combination in commnds.xml? Or better yet, how can I find out the key code for any of the special keys? I think that would be helpful for alot of us.

Quick Link to this comment: http://TTIP.me/c4256

# Anonymous at 12/14/2006 9:53 am cst
I was rooting around for the keyboard's config file on the mac and couldn't manage. Where is it?

Quick Link to this comment: http://TTIP.me/c4266

# Tim at 12/21/2006 7:10 pm cst
I'm kind of a keyboard junkie, and I was trying to bind the alt + tab command to the zoom fuctions and it constantly returned an error. I wrote the lines like: C319 Type="5" KeySeq="alt tab" / and C320 Type="5" KeySeq="alt shift tab" / Does anyone know if something special has to be done to include tab in the key sequence?

Quick Link to this comment: http://TTIP.me/c4273

# Matt Thommes at 12/27/2006 7:18 am cst
For Firefox 2, I was tempted to manually change the "AppName" to "Mozilla Firefox 2.0" in the XML file, but I didn't know if that would work. Turns out the scrolling still works fine in Firefox 2, even though the "AppName" is no longer "Mozilla Firefox 1.5."

Quick Link to this comment: http://TTIP.me/c4279

# Jonathan Aquino at 1/18/2007 11:09 pm cst
jEdit user - cool! :-)

Quick Link to this comment: http://TTIP.me/c4332

# Martin Hennings at 1/20/2007 6:48 am cst
I'm using a natural ergonomic 4000 right now and loving it! Now I got the taste of hacking, so I'd like to give away a few neat tricks. The types in the commands.xml as in Type="1" have these meanings: 0 disabled 1 wParam follows 5 KeySeq follows 6 Activator follows and ... what ... ... ever ... ;) maybe I'll figure them out, too, some time... As for the wParam, please note the command to registry hacks in the next post... These are the keycodes I have figured out so far: (german keyboard layout "qwertz") back C100 forward C101 zoom up C319 zoom down C320 function keys with F-Lock off: (with F-Lock on they serve as regular F-keys) F1 C302 F2 C203 F3 C204 F4 C307 F5 C308 F6 C309 F7 C900 F8 C901 F9 C902 who knows F10? "spell check"? F11 C311 F12 C310 not sure: search C104 or C315 home C106 The ones I haven't figured out yet: (most of them are probably not even on the natural ergonomic 4000) ?? ?? ?? ?? ?? ?? and some more... These are really strange: What are they for? me using XP Pro I changed the commands.xml a bit, like for notepad: This means back and forward keys toggle PageUp and PageDown, while the zoom button scrolls. As for what the do, I'm still not sure. They toggle some internal commands within the programs, but until now I couldn't change them so they'd so anything useful. Better stick to the keyboard shortcuts, I guess. some important KeySeq-codes: alt ctrl shift uparrow downarrow leftarrow rightarrow pageup pagedown backspace space add subtract + - escape break home end | The pipe sign "|" lets you specify keystroke series like pressing "alt f" and then "s" for "file" - "save" by notating: "alt f | s". To do a 'copy all' per "ctrl a" "ctrl c" you need to write "ctrl a | ctrl c". Although it seems that itype.exe accepts a max. of three piped commands. At least this didn't work out in firefox: "ctrl l | ctrl c | ctrl t | ctrl v | enter" for 'duplicate tab'. :( "alt home" works, at least. So far for now, have fun hacking! btw, please excuse my english, as I am from Germany...

Quick Link to this comment: http://TTIP.me/c4336

# scott at 1/22/2007 6:47 pm cst
Hi guys, Sadly, there's no similar .xml file in the Mac version of the software (MS Keyboard 6.1), or any .xml file at all. Anyone figured out how to do this for a Mac OS X? Thanks a lot, scott

Quick Link to this comment: http://TTIP.me/c4342

# Andy Atkinson at 1/23/2007 7:38 am cst
Now retail version is 35 dollars with a [20 dollar mail-in rebate at Amazon](http://www.amazon.com/Microsoft-Natural-Ergo-Keyboard-4000/dp/B000A6PPOK/sr=8-1/qid=1169566590/ref=pd_bbs_sr_1/102-6878768-9648907?ie=UTF8&s;=electronics).

Quick Link to this comment: http://TTIP.me/c4343

# Ukyo at 1/23/2007 8:24 pm cst
Does anyone know how to change the Back and Forward buttons to the Left and Right arrow keys? For what I do at work, I use the Left and Right arrows keys a lot (specifically Acrobat Pro to navigate page to page).

Quick Link to this comment: http://TTIP.me/c4347

# Simon at 2/3/2007 4:29 pm cst
So I just switched from a very customizable logitech keyboard to this microsoft one. I'm not all too impressed with the customizability with this keyboard yet. Right now I'm having tons of problems playing my media from a program like winamp. If I were to minimize winamp, pressing any of the media hotkeys do not work. If I wanted to skip the track the current track would continue playing and it would not skip to the next track unless I were to open up winamp again and then press the hotkey for next track. The same goes for the play button, stop button. To make matters worse, if I were to press the play button with winamp docked, real player would attempt to start up. (I want winamp to play, which is already opened)

Quick Link to this comment: http://TTIP.me/c4400

# Andy Atkinson at 2/4/2007 11:45 am cst
Hi Simon. I'm going to guess you are on Windows. If you can make the switch, [foobar2000](http://www.foobar2000.org/) is a lightweight Windows music playing program (that stresses simplicity) that works well with this keyboard. I run foobar2000 on Windows here with this keyboard, and I'm able to play/pause and skip forward/backward using the modified XML file as above. I'm also able to do the same in iTunes and Media Player.

Quick Link to this comment: http://TTIP.me/c4397

# Simon at 2/4/2007 9:53 pm cst
I just tried out foobar, but I just don't think its my thing. The reason why I use winamp is being I also use that as my primary video player because of some neat features it has over other alternatives. Being able to skip 5 second forward with a touch of a button is just really convient. But I've found that the the MS keyboard only does not skip to the next/previous track when winamp is minimized. In all other causes its fine, but I constantly minimize winamp because I like the always on top function. I'm just wondering how I can have winamp skip to the next track when it is minimized so that it functions like my older keyboard. Is there a way to "port" over the the way my logitech keyboard skips tracks over the MS one?

Quick Link to this comment: http://TTIP.me/c4401

# Anonymous at 2/6/2007 1:02 pm cst
does anyone know if it is possible to set up commands for say ctrl (or alt) volume- = skip back ctrl (or alt) volume+ = skip next I know i can use 4 and 5 to do that but this seams a better plan. If that didnt make sence, i want to hold down ctrl or alt then press volume - to make it skip back a track. also if u look in the C:Program FilesMicrosoft IntelliType Promscmdkey.xml file you will see it has all of the cnnn commands (it is written as id="nnn" E.G. <Command name="VOLUME_UP_COMMAND" id="700" isUI="false" default="true"> <ResourceIDs displayName="3809" description="4009" descriptionPlusAccel="0" osdText="4270" /> </Command> <Command name="VOLUME_DOWN_COMMAND" id="701" isUI="false" default="true"> <ResourceIDs displayName="3808" description="4008" descriptionPlusAccel="0" osdText="4270" /> </Command> <Command name="VOLUME_MUTE_COMMAND" id="702" isUI="false" default="true"> <ResourceIDs displayName="3807" description="4007" descriptionPlusAccel="0" osdText="4270" /> </Command> <Command name="MEDIA_PLAY_PAUSE_COMMAND" id="706" default="true"> <ResourceIDs displayName="3813" description="4013" descriptionPlusAccel="4213" /> </Command> <Command name="MEDIA_PREVIOUS_TRACK_COMMAND" id="704" default="true"> <ResourceIDs displayName="3811" description="4011" descriptionPlusAccel="4211" /> </Command> <Command name="MEDIA_NEXT_TRACK_COMMAND" id="703" default="true"> <ResourceIDs displayName="3810" description="4010" descriptionPlusAccel="4210" /> </Command> <Command name="MEDIA_STOP_COMMAND" id="705" default="true"> <ResourceIDs displayName="3812" description="4012" descriptionPlusAccel="4212" /> </Command> <Command name="ZOOM_IN_COMMAND" id="319" default="true"> <ResourceIDs displayName="3868" description="4075" descriptionPlusAccel="4277" /> </Command> <Command name="ZOOM_OUT_COMMAND" id="320" default="true"> <ResourceIDs displayName="3869" description="4076" descriptionPlusAccel="4278" /> </Command>

Quick Link to this comment: http://TTIP.me/c4404

# lee at 2/6/2007 4:16 pm cst
I know this is off topic but has anyone else had a problem in gaming with this keyboard? Trying to use multpile keys at once. Ex: When i try to use the up arrow and any other two keys together it won't recognize one of the keys as being used. It only recognizes two keys at once when up key is being used. very frustrating behavior out of such a nice keyboard.

Quick Link to this comment: http://TTIP.me/c4405

# Dave at 2/7/2007 9:49 pm cst
The play/pause button works for me when Itunes is maximized, even if it doesn't have focus, but it doesn't work when Itunes is minimized. I've got Itunes set to show up in its own toolbar when minimized (Right click on the Windows task bar, click Toolbars->Itunes). Does anyone else have this issue?

Quick Link to this comment: http://TTIP.me/c4409

# Ceiyne at 2/26/2007 1:11 pm cst
I have the same problem as Lee, although it doesn't happen with EVERY three key combination. In fact, I've only found one that doesn't work... and of course, it's one that I need! XD I find that in my gaming I often need to press Up on the Num Pad while also pressing alt+E with my other hand. Turns out those three keys don't play nice with each other. I did some testing and it appears to be a limitation at the hardware level. There is an test application included with Intellitype named "mskey.exe" that does nothing but tell you what keystrokes are currently being pressed. In my testing I could see Up + Alt + Q, W, R, T, A, S, D, F, Z, X, C, V, and so forth. But if I pressed Up + Alt and then tried to press E, it wouldn't show up at all. Then I tried uninstalling the keyboard driver and using the generic one. The problem continued. I actually own two of these keyboards and use them on two different brands of computers, and the problem is present on each. I tried updating to the latest drivers and that didn't do it either. I think I'm resigned to living with the problem. :) I have another issue that appears when I press a few of the Num Pad arrows at once (ex: Up (8) and Right (6) to produce diagonal Up/Right). It might require also pressing some of the regular arrow keys at the same time; I haven't been able to nail this one exactly yet. But in any case, when the problem occurs, at least one of the arrows becomes "stuck" even when I release all keys. The only solution I've found so far is to mash all of the Num Pad/Arrow keys until I hit the right one and the key gets "unstuck". (In case you're wondering why I hit so many arrows at once, it's for character movement plus camera control at the same time. XD)

Quick Link to this comment: http://TTIP.me/c4431

# Anonymous at 3/8/2007 1:20 pm cst
I want to remap the application key on the right. I would like it to be a second windows button. So that I can use it for a single right handed key stroke. Example: Using only my right hand� Win key + L = to lock my computer or Win key + D to minimize all items and bring myself to a blank desktop. *(useful at work ) As it is now there is only one win key and it�s on the left. I want to remap the silly application button on the right and make it also be a win key. Any help would be greatly appreciated. Right now I�m loving the keyboard but not having a win key on the right hand side sucks!! Regards, Adam The early bird gets the worm....but the second mouse gets the cheese.

Quick Link to this comment: http://TTIP.me/c4438

# Square and Compass at 3/8/2007 4:46 pm cst
I see a lot of people asking about hacking keys on the Microsoft Natural 4000 because the intelliType doesn't let you change certain keys like the application key.  I bought mine the other day and was in love with everything but not having a right windows key drove me NUTS. So found a hack to fix it.



    Adding a right win key � windows key --- instead of the shortcut menu key

   Changing the application shortcut key to do something useful.

   Making the caps locks a second  tab key for people who hit the cap locks when typing 


EASY FIX:  download a Free program called keytweak

(Everyone likes EASY and its easy)

     To bind a key to another key --

Use the Half Tech Mode option of the keytweak progam.


Click the scan single key of the key you want to change.

Then click from the drop down list of what you want the new key to do. like "act as right win key - Windows key"




( I also used keytweak to change my  bottom back and forward buttons on the palm rest so the keys are set to move left and right not back and forward.

Handy left and right arrows on the palm rest for those of us who use excel a lot.



Download: KeyTweak - Keyboard Remapper v2.2.0 15-Oct-2005 17:07 154K

Keytweak is a free keyboard remapper for Windows NT/2000/XP. It makes use of Microsoft's Scancode Map registry key to remap your keyboard. VB6 Runtime files are required, but are already present on Windows 2000/XP.

v2.2.0 Added ability to save and restore remappings. Consolidated menu items.

Main Screen
Full Teach Mode Screen
Half Teach Mode Screen


Its good to know you can edit the command.xml -- but keytweak is great for changing other keys such as the calc key to do something more useful like ejecting your CD-Rom and its a easier for those that are not savvy on xml . Plus its a graphic interface in the half tech mode works perfect and its free!!!


Be sure to backup your registry before you make changes using keytweak I have had no problems at all but its still a smart thing to do.


To back up your Registry in windows:

winkey + r -- At the promt --> type:  regedit.

  Then click file -->export: 

Quick Link to this comment: http://TTIP.me/c4439

# Jonathan Andrew Wolter at 3/9/2007 12:27 pm cst
Where is the configuration file for getting this hack to work on OS X? I opened the app in Applications (and ctrl+clicked the bundle to open it and explored within it) - nothing promising I looked in /System/Library and ~/Library and searched for things related to microsoft keyboard - nothing promising Any ideas? Please post them here

Quick Link to this comment: http://TTIP.me/c4441

# Julius O at 3/17/2007 1:46 am cst
This is an excellent hack. When I copied the code into a .reg file and installed it, it seemed to have omitted the DWORD of the last registry key which assigned the 'next track' command to the '5' key so I manually created a DWORD and entered its value. Then I quit, restarted itype.exe and now I have full previous/next track functionality. Sometimes I wonder how a company as big as Microsoft can think about offering media player controls on a keyboard, and then fail to realize that it's common sense to have dedicated buttons like previous/next track. It would just be like creating a CD player that has a play button but no stop button.

Quick Link to this comment: http://TTIP.me/c4448

# Anton at 3/29/2007 1:45 am cst
Wrong syntax. If you specify Type="6" you cannot use key sequence, you have to use magic words like "ZoomIn" or "ScrollDown". On the contrary, if you use key sequences, you have to set Type="5". or

Quick Link to this comment: http://TTIP.me/c4455

# Ken at 4/5/2007 7:44 am cst
I've got two of these keyboards - one at work and one at home. Every now and then when I boot up into WinXP the keyboard doesn't work. If I unplug it from the USB port and plug it back into the same one, it immediately starts working again (no reboot required). This happens on both of my two totally different PCs. Any ideas?

Quick Link to this comment: http://TTIP.me/c4470

# Andy Atkinson at 4/6/2007 9:20 am cst
Hi Ken, I've got the same problems on occasion. I think the driver load for the keyboard is blocked by other drivers that are loading more slowly. I'm not a Windows device driver programmer so I can't be more specific, but I know at work I've got a related problem where one driver fails to load because it will time out waiting for another driver to load. Generally a reboot solves this for me, but plug-in/unplug does not. If someone has the time or knowledge, they could reply to this thread with information on how to control order or precedence of drivers loaded on startup (or other explanations for this problem). Perhaps Microsoft will address this with newer versions of their Intellitype software or device drivers.

Quick Link to this comment: http://TTIP.me/c4472

# Doug Welsby at 4/13/2007 4:46 pm cst
I'm trying to get my 'F' function keys working the way they did without a (hated) FLock keyboard. I found some instructions on how to modify the commands.xml to replace the values, however, all of the instructions (and a post in this thread also) show slightly different numbers than I have. For example, someone said to replace the values with: But my commands.xml contains: Notice how my 'C' values don't match those that are suggested. E.g. I don't have a C901. Is it because I'm using a different keyboard? I have a Microsoft Wireless Desktop Elite (complete with the hated FLock key!) Thanks.

Quick Link to this comment: http://TTIP.me/c4481

# wirelessly at 4/17/2007 9:45 pm cst
I have just purchased the 4000 and like it too. However even with intellitype pro installed I cant get the My Favorites key to do anything. Any one help me on this one?

Quick Link to this comment: http://TTIP.me/c4491

# Brad at 4/20/2007 11:22 am cst
I haven't been able to find the location of such a file either. Anyone have any ideas?

Quick Link to this comment: http://TTIP.me/c4506

# Steve Smith at 5/10/2007 2:49 pm cst
I tried this, but does not work for most of the 'special' keys, like favorites, web, mail, etc. How did you get keytweak to work for those? It always returns a scan code of 0 for all of them. I'm trying to assign keystrokes to these keys instead of what microsoft tries to force you to do (launch a specific program). SS

Quick Link to this comment: http://TTIP.me/c4520

# pankaj at 5/12/2007 7:56 am cst
Hi, How can i map my calculator button to do next track for winamp even if its docked (window not active). I tired with the control panel but it works only for windows media player. Or if i can have the calculator key code. It seems if i can make it work by change the key code in winamp.ini Cheers Pankaj

Quick Link to this comment: http://TTIP.me/c4531

# Anonymous at 5/26/2007 6:52 pm cst
This can also be accomplished through the "Global Hotkeys" feature in Winamp: open Winamp and then press "Ctrl + P" and they click "Global Hotkeys" under General Preferences.

Quick Link to this comment: http://TTIP.me/c4524

# Ruben at 6/5/2007 9:37 am cst
Very usefull article, happy I found it because it makes the 4000 even better. However, in my case the scroll works like it should in all programs except Firefox, where it works in reverse. I've tried reinstalling Firefox, but that doesn't seem to work. Any ideas? Thanks in advance.

Quick Link to this comment: http://TTIP.me/c4539

# Anonymous at 6/10/2007 4:10 pm cst
Ruben, I think you made the same mistake I did, except I reversed ScrollUp and ScrollDown on all the applications, not just Firefox. Now my question: Has anyone figured out how to get the wParam or lParam values of the numeric keypad? I would like to assign these keys to C100 or C101 on my keyboard.

Quick Link to this comment: http://TTIP.me/c4561

# mnt at 6/29/2007 9:12 am cst
I cleaned up my commands.xml to contain only: <?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <DPGCmd> <Copyright> Copyright (c) 1983-2006 Microsoft Corporation. All rights reserved. </Copyright> <Version></Version> <DEU> <Application UniqueName="IEFrame7" AppName="Internet Explorer 7.0"> <C204 Type="5" KeySeq="ctrl z" /> </Application> </DEU> <ALL> <Application UniqueName="StandardSupport"> <C100 Type="5" KeySeq="alt leftarrow" /> <C1003 Type="7" Subtype="0" /> <C101 Type="5" KeySeq="alt rightarrow" /> <C103 Type="5" KeySeq="escape" /> <C1101 Type="6" Activator="HorizontalScroll" /> <C200 Type="5" KeySeq="ctrl x" /> <C201 Type="5" KeySeq="ctrl c" /> <C202 Type="5" KeySeq="ctrl v" /> <C203 Type="5" KeySeq="F2" /> <C204 Type="5" KeySeq="F3" /> <C205 Type="5" KeySeq="delete" /> <C300 Type="5" KeySeq="enter" /> <C301 Type="5" KeySeq="alt F4" /> <C302 Type="5" KeySeq="F1" /> <C307 Type="5" KeySeq="F4" /> <C308 Type="5" KeySeq="F5" /> <C309 Type="5" KeySeq="F6" /> <C310 Type="5" KeySeq="F12" /> <C311 Type="5" KeySeq="F11" /> <C401 Type="5" KeySeq="F10" /> <C900 Type="5" KeySeq="F7" /> <C901 Type="5" KeySeq="F8" /> <C902 Type="5" KeySeq="F9" /> <C319 Type="6" Activator="ScrollUp" /> <C320 Type="6" Activator="ScrollDown" /> </Application> <Application UniqueName="iTunes" AppName="Apple iTunes"> <C319 Type="0" /> <C320 Type="0" /> </Application> </ALL> </DPGCmd>

Quick Link to this comment: http://TTIP.me/c4569

# Anonymous at 7/10/2007 1:42 pm cst
is there a way to map a key in a way that it will send the currently highlighted file in Explorer to Notepad (or any program?) Essentially, i'd love to map one of these hard keys as a "Send to Notepad" macro.

Quick Link to this comment: http://TTIP.me/c4580

# Eamonson at 8/30/2007 7:37 pm cst

Great info, thanks for posting it.

I've got a Microsoft Wireless Comfort Keyboard 1A. It's got a zoom lever on the left side of the keyboard which I was trying to map the opening and closing PHP tags to, "" respectively. I tried all sorts of modifying the commands.xml file which seems to have a differnt structure than the file for the 4000. You can see it .

I'm quite comfortable with XML, but was unable to get it to work. I would get an error message prompting me to reinstall the IntelliType software.

Quick Link to this comment: http://TTIP.me/c4586

# djmerel at 9/10/2007 6:21 pm cst

I just purchased the keyboard 4000 and connected it to my Thinkpad T60 docking station. The drivers refuse to load stating insufficient free hard disk space. I used the CD Rom and an updated driver - both get the same error message. Having trouble locating any source for assistance to use the features on the keyboard. I have 45 gigs free of disk space. Advise?

Quick Link to this comment: http://TTIP.me/c4605

# Bruce from Sydney at 1/7/2008 7:11 pm cst

djmerel --

Had the same problem. Fix it by going into Control Panel, Add/Remove Programs, and removing all old versions of Microsoft IntelliType or IntelliPoint. Then install the new version of IntelliType, and Bob's your uncle. (You'd a thunk that the installation program would have anticipated this -- guess that's why they don't call it IntelliInstall.)


Quick Link to this comment: http://TTIP.me/c4643

# Nicolai at 1/7/2008 10:33 pm cst

Nice one Sir, Just bought this keyboard and one of the first things I thought was that the Zoom key needed to be a scroll key. Thought id look it up just in case someone smarter than me had the same idea, and here you had exactly what I wanted.

Quick Link to this comment: http://TTIP.me/c4644

# Ryan at 1/9/2008 9:31 pm cst

I hacked the numpad off this keyboard using a Dremel to increase my mousing room. Here, take a peek!


Quick Link to this comment: http://TTIP.me/c4650

# Frank at 2/24/2008 2:36 am cst

@ Ryan: that's insane. Not cool insane, just plain insane...haha. The numpad is great for anything involving numbers, say the calculator for example. Some programs also rely on it for shortcuts. Admit it, you were just tired of seeing the Microsoft logo and had to get rid of it.

Quick Link to this comment: http://TTIP.me/c4641

# Rajeev at 4/14/2008 12:17 am cst

In the picutres, i have seen that the "=" key with "+" key is shifted to above numpad. Instead of "=" a "-" key is present.

I am a programmer and "=" key is very important. is there a way to map it to its original location ?

Quick Link to this comment: http://TTIP.me/c4698

# Joel at 5/21/2008 7:29 pm cst

My little variation on this is to have the zoom control work as up and down key presses. Here's the code if you are interested.

Quick Link to this comment: http://TTIP.me/c4713

# Chris at 6/12/2008 11:10 am cst

Anyone figure out how to do this for the Mac OSX?

Quick Link to this comment: http://TTIP.me/c4689

# George W at 9/17/2008 9:06 pm cst

@Rajeev, I know it's been months since you posted your question but for others with this concern.

Although all the pictures of this keyboard show a minus sign under the plus sign, including the box itself, on the actual keyboard it is an equal sign.

So there's no need to remap it.

Quick Link to this comment: http://TTIP.me/c4718

# Geeky1 at 12/6/2008 12:47 am cst

Anybody figure out how to do this for Linux (specifically Ubuntu)?

Quick Link to this comment: http://TTIP.me/c4812

# Cliff Romine at 2/7/2009 9:47 pm cst

What is the reset for the Ctrl/Forward or Ctrl/Back keystroke that "flips" the screen image?

I hit the Ctrl/Forward combo and can't revert the screen to its' proper orientation. The Ctrl/Forward, Ctrl/Back only move the "bottom" of the screen to the left or right side of the monitor. What combo do I use to reset the orientation? HELP??

Quick Link to this comment: http://TTIP.me/c4913

# PCHenry at 2/13/2009 8:37 am cst

Great article, I also have additional information about this on my blog.


Thanks for the additional information.

Quick Link to this comment: http://TTIP.me/c4918

# mark at 12/13/2009 8:17 pm cst
Thanks for the hack! This is the very last button on this keyboard I needed to change, I got my zoom copying and pasting instead ;) My main problem is now that the C key isn't sensitive enough, maybe it is broken or something.. and it seems the L is following the trend of not registering. Anyway, someone up in the thread wanted to change behaviour for some of the keys, there's a little program on my site I use all the time, go here http://www.ebookorama.com/keyboard-remapping.php and just grab it. thanks again for the very easy to follow post!

Quick Link to this comment: http://TTIP.me/c5445