Saturday, November 14, 2009

How to Use a Microsoft Natural Keyboard Pro in Windows 7/Vista

When Microsoft released an update to its IntelliType keyboard software to coincide with the launch of Windows Vista, it conspicuously dropped support for one if its keyboard models: the Microsoft Natural Keyboard Pro (pictured). When you select the keyboard model on Microsoft's keyboard software download page, the latest operating system supported is Windows XP. At first glance, Vista and Windows 7 users would appear to be out of luck.

While the standard keys will work without any special software in any version of Windows, the IntelliType software is required to make full use of the extra "media keys" at the top of the Natural Keyboard Pro. These extra keys control music and video playback, web browser navigation, and some other convenient functions. Some clever users quickly realized they could get partial functionality by selecting a similar keyboard model instead ("Internet Keyboard", "Natural Ergonomic Keyboard 4000" or "Natural MultiMedia Keyboard"), but that method is an incomplete solution: the media keys will then work with their default behavior but can't be reprogrammed. Whereas in Windows XP you could set the Media key to open iTunes (for example), in Vista or Windows 7 the button would only launch Windows Media Player.

I was OK with this limitation as a Vista user, but with the awful changes in Windows 7's Windows Media Player 12, I was inspired to find a way to reprogram the Media button to launch a more sensible music program. Good news for Natural Keyboard Pro owners: the instructions below describe an easy way to restore full functionality for the keyboard under Windows Vista and Windows 7, including programmable media keys. As with certain other Microsoft hardware, this seems to be a case of Microsoft phasing out support for a perfectly functional product for questionable reasons.

Instructions

Follow the steps below to set up the Microsoft IntelliType Pro software with your Microsoft USB Natural Keyboard Pro on Windows Vista or Windows 7 (32-bit or 64-bit).

1. Download IntelliType Pro

Download the appropriate version of Microsoft IntelliType Pro for your edition of Windows:
If Microsoft has released a newer version of IntelliType since this article was written, your results may vary. The current version as of this writing (according to the installer filename) is 7.00.260.0. It's possible that future versions may include changes that make these instructions obsolete. If you decide to install a newer version of IntelliType and run into trouble, uninstall it and use the version linked above instead.

2. Install IntelliType Pro

Run the installer you downloaded. When asked to select your keyboard model, choose "Natural MultiMedia Keyboard." You will also be asked if you would like the software to automatically check for new versions. I suggest you disable automatic updates: a new version of the software could undo the changes you will be making here.

3. Duplicate some IntelliType files

You will be modifying some of the files that come with the IntelliType software. First, locate each of the files listed below and make a duplicate copy in another location, such as on your Desktop.
  • 32-bit Windows users:
    • C:\Program Files\Microsoft IntelliType Pro\ITypeDevices.xml
    • C:\Program Files\Microsoft IntelliType Pro\Driver\type32\type32.inf

  • 64-bit Windows users:
    • C:\Program Files\Microsoft IntelliType Pro\ITypeDevices.xml
    • C:\Program Files\Microsoft IntelliType Pro\Driver\type64\type64.inf

4a. 32-bit users only: Modify type32.inf

(64-bit users, go to Step 4b.)

Now find the duplicate copy you made of type32.inf. Double-click the file to open it in Notepad. Then scroll down to locate the section of the file that looks like this:
; =================== Section for Windows Vista ===========================

[MsMfg.NT.6.0]

;========= Microsoft USB Internet Keyboard (IntelliType Pro)
%HID\VID_045E&PID_002D&MI_00.DeviceDesc%=MicrosoftKBD_Dev_Vista,HID\VID_045E&PID_002D&MI_00


Now add the following lines right after [MsMfg.NT.6.0]. (When you hover over the text below, a "copy to clipboard" button will appear.)
;========= Microsoft USB Natural Keyboard Pro (IntelliType Pro)
%HID\VID_045E&PID_001D&MI_00.DeviceDesc%=MicrosoftKBD_Dev_Vista,HID\VID_045E&PID_001D&MI_00


Next, scroll down to locate the section of the file that looks like this:
; ======================== Strings ==========================

[Strings]

Microsoft="Microsoft"
IntelliTypeProCD="Microsoft IntelliType Pro CD"
DeviceDesc="Microsoft Keyboard IntelliType Pro Driver"

Insert the following line right after the text shown above. (When you hover over the text below, a "copy to clipboard" button will appear.)
HID\VID_045E&PID_001D&MI_00.DeviceDesc = "Microsoft USB Natural Keyboard Pro (IntelliType Pro)"

Save the file and proceed with Step 5.

4b. 64-bit users only: Modify type64.inf

Now find the duplicate copy you made of type64.inf. Double-click the file to open it in Notepad. Then scroll down to locate the section of the file that looks like this:
; =================== Section for Windows Vista (NTamd64.6.0) ===========================

[MsMfg.NTamd64.6.0]

;========= Microsoft USB Internet Keyboard (IntelliType Pro)
%HID\VID_045E&PID_002D&MI_00.DeviceDesc%=MicrosoftKBD_Dev_Vista,HID\VID_045E&PID_002D&MI_00


Now add the following lines right after [MsMfg.NTamd64.6.0]. (When you hover over the text below, a "copy to clipboard" button will appear.)
;========= Microsoft USB Natural Keyboard Pro (IntelliType Pro)
%HID\VID_045E&PID_001D&MI_00.DeviceDesc%=MicrosoftKBD_Dev_Vista,HID\VID_045E&PID_001D&MI_00


Next, scroll down to locate the section of the file that looks like this:
; ======================== Strings ==========================

[Strings]

Microsoft="Microsoft"
IntelliTypeProCD="Microsoft IntelliType Pro CD"
DeviceDesc="Microsoft Keyboard IntelliType Pro Driver"

Insert the following line right after the text shown above. (When you hover over the text below, a "copy to clipboard" button will appear.)
HID\VID_045E&PID_001D&MI_00.DeviceDesc = "Microsoft USB Natural Keyboard Pro (IntelliType Pro)"

Save the file and proceed with Step 5.

5. Modify ITypeDevices.xml

Now find the duplicate copy you made of ITypeDevices.xml and open it in Notepad. Then scroll down to the very end of the file and examine the last 2 lines:
  </Device>
</MicrosoftHardwareDevices>

You will copy and paste a long section of text after </Device>. To keep the instructions readable, I am including the text in an appendix at the bottom of this article. Copy the text from the appendix and paste it into the file after the </Device> line.

Save the file and close Notepad.

6. Copy your modified files back to the IntelliType folder

Now copy the 2 files you modified in the previous steps back into the IntelliType folder, overwriting the original copies. You may wish to make another backup copy of the originals before replacing them.
  • 32-bit Windows users:
    • Copy ITypeDevices.xml to C:\Program Files\Microsoft IntelliType Pro
    • Copy type32.inf to C:\Program Files\Microsoft IntelliType Pro\Driver\type32

  • 64-bit Windows users:
    • Copy ITypeDevices.xml to C:\Program Files\Microsoft IntelliType Pro
    • Copy type64.inf to C:\Program Files\Microsoft IntelliType Pro\Driver\type64

You may receive a message saying "You'll need to provide administrator privileges to copy to this folder." If so, be sure to confirm by clicking "Continue".

7. Close IntelliType

Now you will need to temporarily close the IntelliType software, which runs in the background:
  • Right-click on the Windows taskbar
  • Choose "Start Task Manager"
  • Click the "Processes" tab
  • Highlight the itype.exe process
  • Click "End Process"
  • Confirm by clicking "End process" again
  • Close Windows Task Manager

8. Update your keyboard driver

Open your Control Panel, choose the "Hardware and Sound" category, and open the Device Manager. Find the "Keyboards" item in the device list and expand it to show your "Microsoft USB Natural Keyboard Pro", like this:



Right-click the keyboard item and choose "Update Driver Software...". You'll see this window:



Click "Browse my computer for driver software" to proceed to the next step:



Click "Let me pick from a list of device drivers on my computer". In the next step, click "Have Disk..." and browse to the appropriate driver folder:
  • 32-bit Windows users: C:\Program Files\Microsoft IntelliType Pro\Driver\type32
  • 64-bit Windows users: C:\Program Files\Microsoft IntelliType Pro\Driver\type64
Click "OK" and verify that the IntelliType Pro driver is now listed, like this:



Click "Next" and you will receive a driver warning:



Choose "Install this driver software anyway" and you should receive confirmation that the driver was updated:



9. Open the Key Settings control panel

  • Windows Vista users:
    • Open Control Panel
    • Open the "Hardware and Sound" category
    • Click "Keyboard"

  • Windows 7 users:
    • Open Control Panel
    • Open the "Hardware and Sound" category
    • Open the "Devices and Printers" category
    • Right-click the keyboard icon and choose "Keyboard settings"

This will automatically restart the IntelliType software, which you closed in Step 8. You should now see the IntelliType settings like this:



(Your settings box won't show the model as "Natural Keyboard Pro" until after the next step.)

10. Change your keyboard model to Natural Keyboard Pro

In the IntelliType settings, click the "Change..." button. The Natural Keyboard Pro should now be listed as an option. (Note that you will not see a photo of the keyboard, but that's OK.) Select the keyboard model and click "OK". The list of media keys should now correspond to the buttons on your Natural Keyboard Pro.

Reprogram a media key to test the software. For example, change the Calculator button to launch another program and make sure it works as expected.

You're done. Enjoy!

Technical Notes

I found the hardware details for the Natural Keyboard Pro by examining the .INF file from IntelliType Pro 5.5, the last version of IntelliType (released for Windows XP) which supported that model.

I created the media key definition (the text added to ITypeDevices.xml) using the other keyboard models in that file as an example, and by cross-referencing with mscmdkey.xml (another configuration file found in the IntelliType folder). The Device ID I chose (1001) has no special significance, except that it was not already used elsewhere in the file. The same is true of the OemAbbreviation "NKP".

It's difficult not to be suspicious of Microsoft's motives here. From all appearances, they could have simply left the Natural Keyboard Pro lines in the driver and it would have continued to work perfectly with Windows Vista and Windows 7. Instead, the company went to the effort of specifically deleting that model from the driver, possibly hoping owners would surrender in frustration and buy Microsoft's top-of-the-line model instead. Perhaps Microsoft should start thinking of reliable products that work for many years as a selling point and a mark of pride, rather than a burden on their future hardware sales.

Appendix: Text to add to ITypeDevices.xml in Step 5

(When you hover over the text below, a "copy to clipboard" button will appear.)

  <Device ID='1001' Type='Keyboard'>
    <Name>Natural Keyboard Pro</Name>
    <OemAbbreviation>NKP</OemAbbreviation>
    <HWID Type='PID'>
      0x001D
      <CollectionList>
        <Collection>
          <CollectionId>1</CollectionId>
          <CollectionFeature>KEYBOARD</CollectionFeature>
        </Collection>
      </CollectionList>
    </HWID>
    <PCImageFile></PCImageFile>
    <EventList>
      <Event>
        <Id>BROWSER_BACK_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_BACKWARD</DisplayName>
        <EventIcon>IDI_BROWSER_BACKWARD</EventIcon>
        <DefaultCommand>BROWSER_BACK_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>BROWSER_FORWARD_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_FORWARD</DisplayName>
        <EventIcon>IDI_BROWSER_FORWARD</EventIcon>
        <DefaultCommand>BROWSER_FORWARD_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>BROWSER_STOP_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_STOP</DisplayName>
        <EventIcon>IDI_BROWSER_STOP</EventIcon>
        <DefaultCommand>BROWSER_STOP_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>BROWSER_REFRESH_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_REFRESH</DisplayName>
        <EventIcon>IDI_BROWSER_REFRESH</EventIcon>
        <DefaultCommand>BROWSER_REFRESH_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>BROWSER_SEARCH_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_SEARCH</DisplayName>
        <EventIcon>IDI_BROWSER_SEARCH</EventIcon>
        <DefaultCommand>BROWSER_SEARCH_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>BROWSER_FAVORITES_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_FAVORITES</DisplayName>
        <EventIcon>IDI_BROWSER_FAVORITES</EventIcon>
        <DefaultCommand>BROWSER_FAVORITES_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>BROWSER_HOME_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_HOME</DisplayName>
        <EventIcon>IDI_BROWSER_HOME</EventIcon>
        <DefaultCommand>BROWSER_HOME_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>MAIL_KEY_EVENT</Id>
        <DisplayName>IDS_KN_LAUNCH_MAIL</DisplayName>
        <EventIcon>IDI_LAUNCH_MAIL</EventIcon>
        <DefaultCommand>LAUNCH_MAIL_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>MUTE_KEY_EVENT</Id>
        <DisplayName>IDS_KN_VOLUME_OSD</DisplayName>
        <EventIcon>IDI_VOLUME_UP_DOWN</EventIcon>
        <DefaultCommand>VOLUME_MUTE_COMMAND</DefaultCommand>
        <Capability Name='UserAssignable'/>
        <Capability Name='CantDisable'/>
      </Event>
      <Event>
        <Id>VOLUME_UP_KEY_EVENT</Id>
        <DisplayName>IDS_KN_VOLUME_OSD</DisplayName>
        <EventIcon>IDI_VOLUME_UP_DOWN</EventIcon>
        <DefaultCommand>VOLUME_UP_COMMAND</DefaultCommand>
      </Event>
      <Event>
        <Id>VOLUME_DOWN_KEY_EVENT</Id>
        <DisplayName>IDS_KN_VOLUME_OSD</DisplayName>
        <EventIcon>IDI_VOLUME_UP_DOWN</EventIcon>
        <DefaultCommand>VOLUME_DOWN_COMMAND</DefaultCommand>
      </Event>
      <Event>
        <Id>PLAY_PAUSE_KEY_EVENT</Id>
        <DisplayName>IDS_KN_MEDIA_PLAY_PAUSE</DisplayName>
        <EventIcon>IDI_MEDIA_PLAY_PAUSE</EventIcon>
        <DefaultCommand>MEDIA_PLAY_PAUSE_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>MEDIA_STOP_KEY_EVENT</Id>
        <DisplayName>IDS_KN_MEDIA_STOP</DisplayName>
        <EventIcon>IDI_MEDIA_STOP</EventIcon>
        <DefaultCommand>MEDIA_STOP_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>PREVIOUS_TRACK_KEY_EVENT</Id>
        <DisplayName>IDS_KN_MEDIA_PREVIOUSTRACK</DisplayName>
        <EventIcon>IDI_MEDIA_PREVIOUSTRACK</EventIcon>
        <DefaultCommand>MEDIA_PREVIOUS_TRACK_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>NEXT_TRACK_KEY_EVENT</Id>
        <DisplayName>IDS_KN_MEDIA_NEXTTRACK</DisplayName>
        <EventIcon>IDI_MEDIA_NEXTTRACK</EventIcon>
        <DefaultCommand>MEDIA_NEXT_TRACK_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>MEDIA_KEY_EVENT</Id>
        <DisplayName>IDS_KN_LAUNCH_MEDIA_SELECT</DisplayName>
        <EventIcon>IDI_LAUNCH_MEDIA_SELECT</EventIcon>
        <DefaultCommand>LAUNCH_MEDIA_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>MY_COMPUTER_KEY_EVENT</Id>
        <DisplayName>IDS_KN_LAUNCH_APP1</DisplayName>
        <EventIcon>IDI_LAUNCH_APP1</EventIcon>
        <DefaultCommand>LAUNCH_MY_COMPUTER_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>CALCULATOR_KEY_EVENT</Id>
        <DisplayName>IDS_KN_LAUNCH_APP2</DisplayName>
        <EventIcon>IDI_LAUNCH_APP2</EventIcon>
        <DefaultCommand>LAUNCH_CALCULATOR_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>LEFT_WINDOW_KEY_EVENT</Id>
        <DisplayName>IDS_KN_LWIN</DisplayName>
        <EventIcon>IDI_LWIN</EventIcon>
        <DefaultCommand>LEFT_WINDOW_COMMAND</DefaultCommand>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>RIGHT_WINDOW_KEY_EVENT</Id>
        <DisplayName>IDS_KN_RWIN</DisplayName>
        <EventIcon>IDI_RWIN</EventIcon>
        <DefaultCommand>RIGHT_WINDOW_COMMAND</DefaultCommand>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>APPS_KEY_EVENT</Id>
        <DisplayName>IDS_KN_APPS</DisplayName>
        <EventIcon>IDI_APPS</EventIcon>
        <DefaultCommand>APPS_COMMAND</DefaultCommand>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>CAPSLOCK_KEY_EVENT</Id>
        <DisplayName>IDS_KN_CAPITAL</DisplayName>
        <EventIcon>IDI_CAPITAL</EventIcon>
        <DefaultCommand>CAPSLOCK_COMMAND</DefaultCommand>
        <Capability Name='UserAssignable'/>
      </Event>
    </EventList>
  </Device>

76 comments:

  1. Thanks. For step 5b I also added the line
    HID\VID_045E&PID_001D&MI_00.DeviceDesc = "Microsoft USB Natural Keyboard Pro (IntelliType Pro)"
    to the [Strings] section, as I didn't otherwise get the keyboard name displaying in step 9.

    ReplyDelete
  2. I also missed out step 12, and don't seem to have any issues, yet. Where might I see problems?

    ReplyDelete
  3. Hi Ed, thanks for your feedback. You're right, I had mistakenly omitted a change to typeXX.inf from my instructions. The [Strings] line you added is correct and I have updated the article above.

    It sounds like IntelliType is working fine for you in 64-bit Windows without disabling Driver Signature Enforcement, so don't worry about that step. DSE only applies to "kernel mode" drivers (as opposed to "user mode"); I had assumed the IntelliType drivers required kernel mode and did not try installing them while leaving DSE enabled.

    I have removed the former Steps 3 and 12 from the instructions accordingly. (I renumbered the remaining steps in the process and Ed's original comments refer to the old numbering.) Just in case any 64-bit users do run into trouble loading the modified driver, you'll want to do this:

    - After installing IntelliType, reboot and press F8 during startup to reach the Advanced Boot Options menu. Choose "Disable Driver Signature Enforcement" and proceed into Windows before enabling the modified keyboard driver.

    - In the future, you'll need to manually choose that option at every startup or use a tool like ReadyDriver Plus to automate the process, as described at: http://tinyurl.com/readydriverplus

    ReplyDelete
  4. this isn't working for me. 2 probs

    1. my type64.inf file is different than your instructions... i don't have the heading called MsMfg NT 6.0 but I have one sorta similar which I paste your line to.

    2. In step 5 when I paste it appears quite garbled, so I took a long time formatting properly (not sure if required?)

    otherwise all went as you said, but special function buttons don't work.. I really only want the volume up and down... any advice???

    ReplyDelete
  5. Hi Anonymous, you are correct, there is no section called [MsMfg.NT.6.0] in type64.ini. That was a copy/paste error on my part in Step 4b of the instructions (I just removed the extraneous section).

    If you get garbled text when using the "copy to clipboard" feature in the code blocks shown above, try instead hovering over the code and clicking the "view source" button that appears (note, this is not the regular View Source option in your browser). You can then select the text you see in the pop-up window and copy it, which may give you better results.

    Apart from re-pasting the code using this alternate method and double-checking your steps, I'm afraid I don't have any other suggestions. Good luck.

    ReplyDelete
  6. Thanks for figuring out and implementing this workaround - I appreciate it!

    ReplyDelete
  7. i have tried this with win7 x64, but i get an error 10 code in dev. manager, and it doesnt work at all afterward.

    ReplyDelete
  8. jjbean, would first suggest double-checking the file modifications. If all else fails, you should be able to back out by setting the keyboard device drivers back to the original IntelliType version, either from backup copies that you (hopefully) made or by re-installing IntelliType.

    ReplyDelete
  9. Thank you very much for this. It worked beautifully. I use the NKP on all my computers, have a few stockpiled in the closet, and will continue to use them until the last one dies and none remains on Ebay. This rejuvinated my commitment to that!

    ReplyDelete
  10. Microsoft now has Windows 7 drivers for the Natural Multimedia Keyboard and it launches and controls iTunes just fine.

    ReplyDelete
  11. awesome instructions and they worked for me perfectly. thank you so much. i don't usually comment on blogs, but you deserve kudos for figuring this out and saving many people having to fork out unnecessary $ for a new keyboard!

    ReplyDelete
  12. Wow, this was great and exactly what I needed! Many thanks.

    ReplyDelete
  13. AWESOME, just AWESOME!!!

    Works perfect here ;)

    vini

    ReplyDelete
  14. Great post! Thank you very much for putting this together. Works great for me :>

    ReplyDelete
  15. Thanks, it worked great. Keep up the good work.

    ReplyDelete
  16. Are the edited required inf. and xml available
    on the Net ? If not it would be great if you
    could make them available.
    MS could object (copyright, etc,) but I doubt
    it.

    Anyway thanks for your posts.

    ReplyDelete
  17. Adding your type32.inf Section for Windows Vista [MsMfg.NT.6.0] changes to the [MsMfg] section makes your little hack work for us Neanderthal Luddites still running WinXP.

    ReplyDelete
  18. Hi
    I have an NKP, but it has PS/2 connector. I have tried a PS/2 to USB adapter, but it doesn't seem to work. Any ideas?
    Ta
    Deb

    ReplyDelete
  19. Great instructions. Worked like a charm! Thanks!

    ReplyDelete
  20. Thanks for this, good job seeing through MSs cynical ploy.

    ReplyDelete
  21. Thanks a lot for this!

    Unfortunately, my "Microsoft Natural Keyboard Pro" is not an USB keyboard. It's a PS/2 one.

    When the PC starts, the driver doesn't and i always have to roll it back to Standard PS/2 keybard.

    ReplyDelete
  22. Jason: "Microsoft now has Windows 7 drivers for the Natural Multimedia Keyboard and it launches and controls iTunes just fine."

    Yes, but this article is about the Natural Keyboard Pro, not the Natural Multimedia Keyboard.

    ReplyDelete
  23. With simple strip of _Vista I was also able to get my XP to play nicely. It has not liked me last several versions of their software.

    ReplyDelete
  24. Worked great. Thanks for going through the effort to write this up.

    ReplyDelete
  25. thanks for the instructions! worked great for me!

    ReplyDelete
  26. My NKP is one apparently modified by Microsoft especially for Dell (above the numeric keypad, it has the logo "DELL by Microsoft")

    Also above the numeric keypad are three additional buttons, labeled (from left to right) "Dell.com", "Dell Support" and "Sleep".

    Has anyone who has one of these beasts figured out what modifcations are necessary to make these keys programmable?

    Presumably, it would only involve making an addition of appropriate ... blocks to the ITypeDevices.xml file, but I'm at a loss on how to figure out the , , and texts.

    Any help would be appreciated!

    jhcoxx

    ReplyDelete
  27. Have also made this work with the Internet Keyboard Pro - under XP.

    This was following the supplementary instructions at:
    http://social.technet.microsoft.com/Forums/en-US/w7itproappcompat/thread/d671061d-be8d-48a2-95bd-ff27b0821fcc/

    ReplyDelete
  28. Tried the fix on an older laptop running Win7 Starter. For starters, windows reports a problem when I try to install the unmodified ITPx86_1033_7.00.260.0.exe. I also had trouble in that the, "copy to clipboard" option did NOT appear when I hovered over the text in either Chrome or Internet Explorer. I cut the strings block into notepad and edited out the line numbers before pasting it into the end of the ITypeDevices.xml file. Is the block supposed to be pasted between the and the
    lines?
    Any chance that the patched files could be made available for download? If not, why not just add the notepad file (without line numbers?) with the appropriate changes?

    Thanks

    ReplyDelete
  29. Sorry for the typo in the original post. I was asking if the big strings block was to be posted between the two last lines of the ITypeDevices.xml file so that /MicrosoftHardwareDevices would be the last line of the file?

    ReplyDelete
  30. Genius!

    Thanks so much for sharing what you obviously spent a long time figuring out and for the instructions that are so well thought out and organized.

    God bless.

    ReplyDelete
  31. Thanks you Very much. I used your tutorial and got my Internet Keyboard Pro (Internet Keyboard Pro Model No RT9420 V 5FTWXX MS Part NO X05-62772 Product ID 51742-868-8491175-20040) also running on Win 7 x64 and fully programable keys support.

    ReplyDelete
  32. Me too, Internet Keyboard Pro. Many thanks!

    ReplyDelete
  33. Would this restore the ability to control media players that is not focus ie playing in the background?

    ReplyDelete
  34. super excellent tut. worked great on win7 x64

    ReplyDelete
  35. Thanks very much for your work on this. I own several of the Natural Keyboard Pro and find it my favorite keyboard over newer models. Without your work I'd still be struggling without the media keys. Thank you1

    I agree with you about being suspicious of Microsoft. This kind of behavior only makes me LESS interested in buying their products. In fact, removing support like this for NO REASON simply makes me not want to buy ANY of their products or services. They clearly have no respect for their customers or interest in their loyalty. Thanks Microsoft, for making it easy to not give you my money.

    ReplyDelete
  36. Great stuff. It worked as described in every detail for W7 64-bit. Many thanks for having taken the effort. It's really lousy of MS to withdraw support for a perfectly good keyboad. Such behaviour only makes one want to NOT upgrade to new Windows versions and NOT buy MS hardware. Now to the next problem of figuring out what to do with hundreds of MS Works files after they've apparently pulled the plug on that too ...

    ReplyDelete
  37. This was too good to be true. Now the Natural Keyboard Pro works, but not all the keys on the Samsung notebook into which I plugged the Natural keyboard, notably not the brightness up and down keys. Any idea how to make both of them work?

    ReplyDelete
  38. Microsoft IntelliType or IntelliType Pro can cause interference with the function keys on at least Samsung computers with Easy Display Manager installed - a Samsung utility. See

    http://support-us.samsung.com/cyber/popup/iframe/pop_troubleshooting_fr.jsp?idx=121883&modelname=NP-NC10&modelcode

    and

    http://answers.microsoft.com/en-us/windows/forum/windows_7-hardware/external-keyboard-on-samsung-notebook-works-fine/847a3be8-2118-4c7a-af3b-2262b1bf9343?page=1&tm=1324582045750#footer

    Once I'd stopped IntelliType in Task Manager, the function keys started worked again, and most of the MS keyboard special keys still worked, but not volume up/down. Now for the task of figuring out what to do with IntelliType and if it needs to be running.

    ReplyDelete
  39. Thanks! This worked great. This is still my favorite keyboard. The new Microsoft Natural Ergonomic keyboards are worthless, keys are harder to press and spacebar sticks.

    ReplyDelete
  40. HI,
    Thank you. I'm French. I don't speak and write easealy in english, but I want said to you that your method is genius.

    ReplyDelete
  41. Micr**** the shit all the way ....!

    ReplyDelete
  42. Thank you so much for these no-fail instructions. I was annoyed that the "show desktop" button in Windows 7 is so far away from everything else, so I was able to use this to assign the "Media" button to "Show/Hide Desktop" just like I had it in Windows XP. Perfection!

    ReplyDelete
  43. Dude thanks for this how to. Worked like a charm on Win7 64.

    ReplyDelete
  44. Worked perfectly on Win 7 64. IntelliType version 8.2. The keyboard name was already set, no need for step 10 above.

    ReplyDelete
  45. Thanks for great instructions. I still have a few of these keyboards and like them a lot.. Many of the later 'ergo' kb's that MS came out with were not nearly as good. (the ergo 4000 isn't bad, but no passive USB hub..)

    As to motivations for MS doing this, I don't think it is as nefarious as some are thinking. More than anything it's likely a cost issue. If MS were to officially support all of their older hardware with newer OS's it raises their testing costs (to make sure it all works) substantially. The effort to edit out a few lines from those files is nothing compared to having to maintain a 'hardware library' of working versions of all the older hardware, More staff to do all the testing within the time allowed, etc. Backwards compatability has a pretty substantial cost just in the expense to test stuff and be sure it still works, not to mention developer time etc if you do find a problem. So at some point, like when some QA manager was creating test matrixes, it came out that 'hey if you want me to support all this old Windows2000 era hardware against the new OS, I'm going to need xxxx more resources (money, lab space, people, time, etc) and some upper level manager said "ok not happening", and started crossing lines off the supported hardware list

    ReplyDelete
  46. Thank you so much. These instructions worked perfectly!

    ReplyDelete
  47. Great! Upto now, I "gathered" my keyboard settings by switching between some similar models (as you described), now I have all keys in one view, clean and crisp!
    For a PS/2 Natural Keyboard Pro, skip step 8. The keyboard settings for any keyboard are accessible, even if the keyboard set in the control panel, is a different one.

    ReplyDelete
  48. Thank you! Like some others above, I now also have my Internet Keyboard Pro working fully under Windows 7 64-bit.

    I am not a big fan of current wireless keyboards/mice. I find this "old" keyboard one of the best I have ever used: it has good tactile feel, a useful set of programmable keys, a USB hub sufficient for a wired mouse, and not to forget quite a long cable.

    I suspect Microsoft stopped supporting the "Pro" keyboards because of low sales numbers. When released, both the Internet Keyboard Pro and the Natural Keyboard Pro were relatively expensive and probably sold much less than their similar non-Pro variants. Still a shame that we have to fiddle with system files to get them to work properly.

    ReplyDelete
  49. Thank you. Still using the old keyboard.

    ReplyDelete
  50. Same thing as other user, PS/2 NKP here, after updating driver keyboard does not work at all. After rolling back driver via Last Known Good restart, when Intellitype 8.2 comes up it says no USB keyboard present.

    Love my PS/2 NKP, even have a brand new one still in shrink-wrapped box waiting for one of the others to go bad (they never do).

    Please help......

    ReplyDelete
  51. Many thanks! It worked like a charm. Your step by step tutorial is actually the best tutorial I've used in my life. Well done. Your efforts are much appreciated!

    ReplyDelete
  52. Perfect work!
    Thanks 1000

    I was upset for month about MicroSoft, that their own products are not supported any longer.

    Now all works fine again!.

    ReplyDelete
  53. Thanks for this. Instructions worked for XP SP3 with IntelliType Pro 6.31.
    (Microsoft website suggests this version of IntelliType which does not support the keyboard...)

    ReplyDelete
  54. Thanks very much for this guide, worked a treat on my Windows 7 Ultimate 64-bit.

    ReplyDelete
  55. Wow! The world needs more people like you with the know-how and generosity to share information like this. Thanks a billion!

    ReplyDelete
  56. Very good job and great tuto. Thanks a lot.

    ReplyDelete
  57. Tried your guide on Windows 8 and it works here too.

    ReplyDelete
  58. Yet another thanks for providing this information. Even though it was four years ago, it's still useful today.

    ReplyDelete
  59. I do not know what I did wrong, I just followed all the steps such as you explain in this article but in the end it does not work for me:

    Windows 7 64 bits.

    I had to restore the system, because even the mouse stopped working!

    Thanks anyway.

    Greetings man.

    Karl.

    ReplyDelete
  60. Yet another thanks for providing this information.

    #1) I can confirm that "ITPx64_1033_7.10.344.0.exe" works on Windows 7 x64 and as per a comment above, folks using a Natural Keyboard Pro (PS/2) should skip Step #8.

    #2) The Sleep button will not appear as a selectable/configurable entry.

    #3) To add an image of the Natural Keyboard Pro, change the following line in "Appendix: Text to add to ITypeDevices.xml in Step 5" ...

    From: < PCImageFile > < /PCImageFile >
    To: < PCImageFile >Models\NaturalKeyboardPro\NaturalKeyboardPro.bmp< /PCImageFile >


    ** Remove spaces in-front/behind greater than (<) and less than (>) symbols. Had to add them to preserve the formatting in this comment.

    Create a folder called "NaturalKeyboardPro" under "Models" and place an 8-bit bitmap (185x115) named "NaturalKeyboardPro.bmp" in the folder. Can't find a way to upload the image I found searching online otherwise I'd provide mine.

    Cheers,

    ReplyDelete
  61. Thanks so much for posting this article. It's been increasingly frustrating that Microsoft - who used to be rock solid in terms of backward-compatibility and providing their users with many options, providing good value and usability for home, small business, and corporate users - has been steadily declining in these areas. Apple and Android would not be making inroads if MS would stay true to Bill Gates' original vision, it's what differentiated them from Apple to begin with.
    I have been using Microsoft's Natural keyboards since the mid 90s, and being on Windows 7, was disheartened to find that the keys were no longer programmable. Note to MS: you're supposed to make products BETTER not worse! If it worked before, don't break it!
    So anyway, it is very cool to find information that lets me regain the functionality I originally paid for. Thanks!

    ReplyDelete
  62. Thanks for your tutorial, apparently still helping people after all this years . . .
    I haven't tested it yet,mine is a PS2 model and I need Sleep Button working.
    If you ever come back to read our comments, you may trow a few more lines of code . . .
    All the best and, again, a big thank you!
    Microsoft is not up to par . . .

    ReplyDelete
  63. Had this working on a Win 7 PC until a software install broke it. I've removed the offending s/w.

    Now when I try to install ITPx86_1033_7.00.260.0.exe, after I select Natural MultiMedia Keyboard and continue the install, an error box with the following message pops up:


    Microsoft IntelliType Pro 7.0 Setup
    Setup must close because an error occurred. Verify that your computer
    ! meets the system requirements on the product packaging. Restart your
    computer and try running Setup again. If this error happens again, see
    Help for customer support options. (Error code 1603)

    Any insights what's going wrong and how to fix it?

    ReplyDelete
  64. Great article! Relieved some heartburn I had here at work with our Windows 7 upgrade!!! Works perfectly.

    ReplyDelete
  65. Can‑you do that for the last Microsoft "Mouse and Keyboard Center 2.3", I edited the files with you method, the driver works in Windows 7 (I just re‑moved the "_Vista" in :)
    %HID\VID_045E&PID_001D&MI_00.DeviceDesc%=MicrosoftKBD_Dev,HID\VID_045E&PID_001D&MI_00

    But it's needed to add more in‑formation in "ITypeDevices.xml"
    0x001D1KEYBOARD
    models\NaturalKeyboardPro\NaturalKeyboardPro.xml






    Also it's needed to create a folders in MODELS\ with "NaturalKeyboardPro" folders and create a NaturalKeyboardPro.xml (I don't how to do it) and add NaturalKeyboardPro.png icon files... But I don't know how to edit the "NaturalKeyboardPro.xml".

    Can you please help ?

    ReplyDelete
  66. Can‑you do that for the last Microsoft "Mouse and Keyboard Center 2.3", I edited the files with you method, the driver works in Windows 7 (I just re‑moved the "_Vista" in :)
    %HID\VID_045E&PID_001D&MI_00.DeviceDesc%=MicrosoftKBD_Dev,HID\VID_045E&PID_001D&MI_00

    But it's needed to add more in‑formation in "ITypeDevices.xml"
    ≺HWID Type="PID" Category="109"≻0x001D≺CollectionList≻≺Collection≻≺CollectionId≻1≺/CollectionId≻≺CollectionFeature≻KEYBOARD≺/CollectionFeature≻≺/Collection≻≺/CollectionList≻≺/HWID≻
    ≺SADataFile≻models\NaturalKeyboardPro\NaturalKeyboardPro.xml≺/SADataFile≻
    ≺TipTileCategory Name="Registration" /≻
    ≺TipTileCategory Name="Ergonomics" /≻
    ≺TipTileCategory Name="Macros_devices" /≻
    ≺TipTileCategory Name="Comfort_keyboard" /≻
    ≺TipTileCategory Name="DigitalMedia_keyboard" /≻
    (Re‑placed the < with ≺ & > with ≻ be‑cause the previous post didn't showed the in‑formation)

    Also it's needed to create a folders in MODELS\ with "NaturalKeyboardPro" folders and create a NaturalKeyboardPro.xml (I don't how to do it) and add NaturalKeyboardPro.png icon files... But I don't know how to edit the "NaturalKeyboardPro.xml".

    Can you please help ?

    ReplyDelete
  67. Thank you for this workaround. I can confirm that it works with the latest Intellitype Pro 8.2 for Windows 7 64-bit.

    I wonder how this keyboard behaves under Windows 10, and if a similar hack is necessary. That's next on the testing list.

    ReplyDelete
    Replies
    1. It does work with Windows 10 64-bit, but for Windows 10 you have to first disable driver signing before updating the driver:

      1) Select the “Start” button.
      2) Type “startup”.
      3) Select “Change advanced startup settings“.
      4) Select “Restart now” under the “Advanced startup” area.
      5) Select “Troubleshoot“.
      6) Select “Advanced Options“.
      7) Select “Startup Options“.
      8) Select “Restart“.
      9) A menu will appear where you can press “7” on your keyboard to choose “Disable driver signing enforcement“.

      Then proceed with step 8 above.

      Delete
  68. Thank a lot man! I have just done it under win 7, works excellent. I also added a picture in the Programs File folder, under "Models", and added it in the xml file, in the tal , so it appears in the device =D
    Your help is absolutely appreciated!
    THANKS!!!

    ReplyDelete
  69. I can confirm that this procedure also works correctly for Windows 10 64-bit.

    ReplyDelete
    Replies
    1. What needs to be made for Natural Keyboard Pro that worked under Windows 10?

      Delete
    2. For Windows 10 you have to first disable driver signing before updating the driver:

      1) Select the “Start” button.
      2) Type “startup”.
      3) Select “Change advanced startup settings“.
      4) Select “Restart now” under the “Advanced startup” area.
      5) Select “Troubleshoot“.
      6) Select “Advanced Options“.
      7) Select “Startup Options“.
      8) Select “Restart“.
      9) A menu will appear where you can press “7” on your keyboard to choose “Disable driver signing enforcement“.

      Then proceed with step 8 above.

      Delete