Microsoft IntelliType Registry

By Xah Lee. Date: . Last updated: .

IntelliType uses the Windows Registry to store its keymapping data. When you add, remove, change a key definition using the IntelliType Pro software, the registry is updated. (If you are not familiar with Registry, see: Registry Tutorial.)

The registry items for IntelliType is at: HKEY_CURRENT_USER\Software\Microsoft\IntelliType Pro .

Under the “IntelliType Pro” branch, there are these branches:

 AppSpecific
 EventMapping
 Shortcuts
 SQM
 Zoom

The EventMapping is the generic key definition for your keys.

The “AppSpecific” holds key sets for each application. Each application will have a entry. For example, i have:

AppSpecific
 …
 emacs.exe
 firefox.exe
 googleearth.exe
 notepad.exe
 …

When you use IntelliType to create a new set of keys for a different software (Under the section “Custom Key Settings”, “Add…” button), it'll create a “EventMapping” branch under the app's name entry in “AppSpecific” . If you never defined keys specific to apps, it is safe to delete the whole AppSpecific entry. (it will be regenerated anyway. Do not delete the whole “IntelliType Pro” tree. If you do, next time you launch it, it'll complain of locating some file thinking that you might have pirated the software. But you can always download it again and reinstall.)

Am not sure what “Shortcuts” or “SQM” entries are for. They don't have any children and doesn't seem to be used.

The “Zoom” entry is for the Zoom slider on your keyboard. This entry will be created only if you have tried to disable the zoom using IntelliType (in the Zoom tab).

The EventMapping Entry

The “EventMapping”, regardless where it appears, is the main key data. Each of its children defines a key, and that key's action. The keys are identified by a numerical code.

IntelliType Registry key example
Example of Key 31's content. Key 31 is the Calculator button. In this case, i've remapped it to launch iTunes.
IntelliType Registry Key Values and Meaning
Key CodeKey/ButtonComment
14BackThe special “Back” button, with a fat left arrow (⇦) icon on the button.
15ForwardThe special “Forward” button, with a fat right arrow (⇨) icon on the button.
18Search
20Web/Home
21Mail
25Play/Pause
28?
29Media?
30My Computer?
31Calculator
32?
41New (F4)?
42F1with F Lock off
45F4with F Lock off
46F5with F Lock off
47F6with F Lock off
48F7with F Lock off
49F8with F Lock off
50F9with F Lock off
51F10with F Lock off
52F11with F Lock off
53F12with F Lock off
54F2with F Lock off
55F3with F Lock off
65Open (F5)?
66Close (F6)?
67?
73Left Window key
74Menu key
75Caps Lock
75?
78My Favorites 1
79My Favorites 2
80My Favorites 3
81My Favorites 4
82My Favorites 5
83Volume?

i haven't found the code for the following keys: My Documents, My Pictures, My Music, Mute, Media, Messenger .

If you have not used IntelliType to set a particular key, no registry entry will exist for that key. The default behavior came from commands.xml file. [see Microsoft IntelliType commands.xml File]

Registry Key Actions

Each end node of “EventMapping” specify the key's action. For example, on my computer, i've set the Calculator button to launch iTunes. The Calculator button's code is 31, so in my EventMapping, there's a entry “31”, with the following content:

NameTypeData
(Default)REG_SZ(value not set)
ArgumentsREG_SZ
CommandREG_DWORD0x00000320 (800)
FriendlyREG_SZiTunes
ShellExecuteREG_SZC:\Users\Public\desktop\iTunes.lnk

The most important one that specify what kind of action to do for a key, is named “Command”, and its value is a integer. What the integer means can be found in the file mscmdkey.xml at C:\Program Files\Microsoft IntelliType Pro.

For example, if the value of Command is 800, and because 800 is associated with SHELL_EXECUTE_COMMAND in mscmdkey.xml, so the action for the key is to execute a shell command. The precise shell command to execute is specified in the value of the register entry “ShellExecute”.

Key action can be executing a shell command, or type some other key, or execute a keyboard macro, or disable a key, and others.

The following is all of the actions and their code from mscmdkey.xml. Note: however, it may not be complete. For example, if you use IntelliType to define “My Farovites 1” button to launch some app, then, in the registry you'll see the key “Command” having a value of “406”, but 406 is nowhere to be found in mscmdkey.xml.

Command NameAction CodeComment
F1_HELP_COMMAND302
UNDO_COMMAND203
REDO_COMMAND204
NEW_COMMAND307
OPEN_COMMAND308
CLOSE_COMMAND309
MAIL_REPLY_COMMAND900
MAIL_FORWARD_COMMAND901
MAIL_SEND_COMMAND902
SPELL_COMMAND401
SAVE_COMMAND311
PRINT_COMMAND310
Command NameAction CodeComment
LAUNCH_MAIL_COMMAND801
LAUNCH_MEDIA_COMMAND802
LAUNCH_MESSENGER_COMMAND808
LAUNCH_CALCULATOR_COMMAND803
LAUNCH_CALENDAR_COMMAND809
Command NameAction CodeComment
WEB_SEARCH_COMMAND414
LAUNCH_MY_COMPUTER_COMMAND804
LAUNCH_MY_DOCUMENTS_COMMAND805
LAUNCH_MY_MUSIC_COMMAND807
LAUNCH_MY_PICTURE_COMMAND806
Command NameAction CodeComment
MEDIA_PREVIOUS_TRACK_COMMAND704Previous song (need to switch to your music player first)
MEDIA_NEXT_TRACK_COMMAND703Next song (need to switch to your music player first)
MEDIA_PLAY_PAUSE_COMMAND706
MEDIA_STOP_COMMAND705
VOLUME_UP_COMMAND700
VOLUME_DOWN_COMMAND701
VOLUME_MUTE_COMMAND702
Command NameAction CodeComment
APPS_COMMAND312The Menu key
LEFT_WINDOW_COMMAND313Left Windows Key
RIGHT_WINDOW_COMMAND314
F_LOCK_COMMAND402
CAPSLOCK_COMMAND403
NUM_LOCK_COMMAND404
SCROLL_LOCK_COMMAND405
Command NameAction CodeComment
SHELL_EXECUTE_COMMAND800Run a shell command
KEYSTROKE_COMMAND412Type some other key combo
DISABLE_COMMAND400Disable the key
INVALID_COMMAND0
UNASSIGNED_COMMAND2The default state of My Favorites buttons.
Command NameAction CodeComment
COPY_COMMAND201
CUT_COMMAND200
PASTE_COMMAND202
NEXT_WINDOW_COMMAND304
PREVIOUS_WINDOW_COMMAND305
SHOW_HIDE_DESKTOP_COMMAND303
ZOOM_IN_COMMAND319
ZOOM_OUT_COMMAND320
Command NameAction CodeComment
EXIT_COMMAND301
FIND_COMMAND315
BLANK_SCREEN_COMMAND1451
LOCK_WORKSTATION_COMMAND316
LOGOFF_COMMAND306
Command NameAction CodeComment
BROWSER_HOME_COMMAND106
BROWSER_BACK_COMMAND100
BROWSER_FORWARD_COMMAND101
BROWSER_FAVORITES_COMMAND105
BROWSER_REFRESH_COMMAND102
BROWSER_SEARCH_COMMAND104
BROWSER_STOP_COMMAND103
Command NameAction CodeComment
OFFICE_EXCEL_COMMAND1001
OFFICE_TASK_PANE_COMMAND1003
OFFICE_WORD_COMMAND1000
Command NameAction CodeComment
BATTERY_CRITICAL_COMMAND600
BATTERY_LOW_COMMAND601
BATTERY_GOOD_COMMAND602
BATTERY_UNKNOWN_COMMAND603
SIGNAL_VERY_POOR_COMMAND604
SIGNAL_POOR_COMMAND605
SIGNAL_GOOD_COMMAND606
SIGNAL_VERY_GOOD_COMMAND607
RSSI_SIGNAL_COMMAND608
RSSI_NOISE_COMMAND609
RSSI_SIGNAL_RESET_COMMAND610
RSSI_NOISE_RESET_COMMAND611
DISCONNECT_REQUEST_COMMAND408
VERTICAL_SCROLL_COMMAND1100
HORIZONTAL_SCROLL_COMMAND1101
NUMPAD_EQUALS_COMMAND1200
NUMPAD_LEFT_PAREN_COMMAND1201
NUMPAD_RIGHT_PAREN_COMMAND1202
MSPY_IME_COMMAND1300
Command NameAction CodeComment
FIRST_CONNECT_RADIO_RECOVERY_REQUEST_MESSAGE_COMMAND1500
FIRST_CONNECT_WIZARD_COMMAND1501
FIRST_CONNECT_UHE_MOUSE_DISCONNECT_REQUEST_MESSAGE_COMMAND1502
FIRST_CONNECT_BT_MOUSE_DISCONNECT_REQUEST_MESSAGE_COMMAND1503
FIRST_CONNECT_UHE_MOUSE_DISCONNECT_MESSAGE_COMMAND1504
FIRST_CONNECT_BT_MOUSE_DISCONNECT_MESSAGE_COMMAND1505
FIRST_CONNECT_UHE_KEYBOARD_DISCONNECT_REQUEST_MESSAGE_COMMAND1506
FIRST_CONNECT_BT_KEYBOARD_DISCONNECT_REQUEST_MESSAGE_COMMAND1507
FIRST_CONNECT_UHE_KEYBOARD_DISCONNECT_MESSAGE_COMMAND1508
FIRST_CONNECT_BT_KEYBOARD_DISCONNECT_MESSAGE_COMMAND1509
NEXT_GAMING_MODE_COMMAND1404

The following are some other codes not found in the mscmdkey.xml, but can be seen in the registry.

CodeName in IntelliTypePurposeComment
2159KeystrokeType some key combo.Not sure what's the diff with KEYSTROKE_COMMAND (412)
406Opens the file or Web site that you sp…Launch a app or open a file.Not sure what's the diff with SHELL_EXECUTE_COMMAND (800)

Back to Microsoft IntelliType Hacks .

Old Microsoft Keyboard Topic