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:- ITPx86_1033_7.00.260.0.exe (32-bit users)
- ITPx64_1033_7.00.260.0.exe (64-bit users)
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
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 "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"
(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>