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 .