Microsoft IntelliType Review

By Xah Lee. Date: . Last updated: .

This page is a review of Microsoft IntelliType Pro software, for the Windows version and also for the Mac version.

IntelliType is the keyboard software that is bundled with Microsoft's keyboards. It allows you to assign functionality to various special keys and function keys on the keyboard. Here's What it can do:

Microsoft IntelliType Pro for Windows.

Of my over a decade experience of using keyboard and keymapping software (including: QuicKeys (~1992 to ~2001), ResEdit keymap rsrc (~1993), xmodmap (~1999), KeyboardMaestro (~2003), DefaultKeyBinding.dict (~2005), Quicksilver (~2007), etc), i think IntelliType is a quality software. However, no software is perfect and in the following i list some flaws i find. It is useful if you are also a key macro nerd.

See also:

Problems of IntelliType for Windows

Here are some criticisms of IntelliType for Windows. (IntelliType Pro version “”)

Very Few Keys Can Be Customized

The software does not let you customize all keys. Only a small set of keys. For example, on the standard Windows keyboard there's the Insert key, and the ScrollLock key, and the Pause/Break key. These keys are almost never used. It would be great if you can use IntelliType to customize them to do something else, such as closing the current tab, current window, or minimize it. But no, you can't with IntelliType. Here are some practical examples that are mainly caused by this flaw:

The keys that can be customized are:

Also, some of these buttons or keys cannot be fully customized. For example, the “My Favorites” buttons can only be set to launch programs or files. You can't set it to type other key combo.

The function keys cannot be customized. They can, only if you have the 🅵Lock off. This is a pain, because if you want to have customized F keys, you need to leave the F Lock off, and you need to remap all the F Lock off state of all function keys, so that for those F key which you do not want customization, they should send the F key signal itself.

If you alway have the F Lock off, then the purpose of F Lock system itself becomes useless. If you do want the benefit of F Lock to toggle state, then you constantly need to keep watch of the state of F Lock, often with frustration because you pressed a F key but it didn't do what you expected because F Lock is not in the right state.

The problem here is primarily of the F Lock concept itself. (for detail, see: The F Lock Key Problem)

The modefier keys, such as Ctrl, Win, Alt, Menu, Cap Lock, Num Lock, cannot be customized. You can, however, disable the Cap Locks key, the Menu key, or the Windows Key. (but not the Num Lock key, nor F Lock, nor ScrLk.)

It would be nice to be able to customize any key. For example, the Insert, Delete, Home, End, Page Up, Page Down block of keys. Especially for gaming (e.g. Second Life), or apps that involves lots of commands such as 3D modeling software (e.g. 3S Max, Autodesk Maya) and Emacs .

For example, in Second Life, i'd like to customize the number keys on the number pad, so that when i press them, they do special things. Also, this is such a nice keyboard with many special buttons, it would be fantastic if they can all be customized. It Second Life, by default the WASD are for movement. However, since i'm using a dvorak keyboard layout, i'd like to have for example “,aoe” keys instead. Second Life viewer does not let you customize these. But, IntelliType should, but can't.

Cannot Define Key-Combination

You cannot define key combinations. For example, you might want Alt+F5 to launch Firefox, and Ctrl+F5 to launch Google Chrome browser. Or, you might want to have ❖ Window+letter for something or ▤ Menu+letter.

Modifier Keys cannot be Customized

Many modifier keys, such as the ❖ Window key, ▤ Menu key, cannot be customized, except that some of them can be disabled.

For example, many people do not use the Window key or the Menu key, but they use Ctrl often. So, it would be nice to make the Window or the Menu key both function as Ctrl, since their positions can be operated by the thumb, which is easier than using pinky for Ctrl. But you can't. Also, some people are used to have Ctrl at the Caps Lock position. So, you might want to swap them, but you can't with IntelliType.

Zoom slider cannot be customize except disabled. However, many people do not find this to be useful. Occasionally, when they need to zoom, they can press the browser default keys (Ctrl++ and Ctrl+-) for zoom. The Microsoft Natural Ergonomic Keyboard 4000 does not have a previous song and next song button. So, you might want to set the zoom slider for that purpose. Or, you might set the Zoom slider for next app, previous app, or next tab, previous tab, or as a scroll slider, etc.

Problem With Macro Interface

IntelliType provides a keyboard Macro ability. That means, it lets you program a key, such that, when pressed, it is equivalent of pressing one or more sequence of key press combinations. For example, I can program F12, so that, when pressed, it is equivalent of pressing Alt+Tab for switching to the next window, and i can have F11 as Alt+Shift+Tab for switching to the previous window. For another example, in Second Life, Ctrl+Shift+r does a toggle wireframe mode. I can use IntelliType to program F11, so that it functions as pressing Ctrl+Shift+r.

The interface for programing key macros in IntelliType has no documentation. After playing with it a little, you can learn how to use it, but still, some simple macro seems difficult or impossible unless you are a programer who knows computer software well and is willing to spend hours digging into how the software works. For example, let's say you want F12 to be Alt+Tab for switching to the next window, and F11 to be Alt+Shift+Tab for switching to the previous window. Try it. You'll find that it is impossible. You'll find that after perhaps some 30 minutes trying to do that, your key may still not do what you want, or it may skip and switches to the next 2nd application instead. (for how to actually do this macro, see: Microsoft IntelliType Macros.)

(Note: IntelliType does have a default command called “Next Window” and “Previous Window”, but the command “Next Window” will also hide the current window after you switch. This is probably not what most people want, because often you work in 2 applications and you want them both to be visible. For example, let's say you work as a graphics artist in Photoshop. You got a email from colleague for a particular project. You have both your email app and image app launched. Your current window is the email window, and press a key to switch to the next app that is Photoshop. After you switched into Photoshop, you still want your email window visible.)

Basic Macro; no “if then else”

The macros feature is very basic. It lets you set a key to type a sequence of key or key combination. But it does not let you do any “if then else” conditional check. In fact, there is no macro language. Here are some practical examples:

I want the F6 key to launch Firefox, but if Firefox is already running, i simply want to switch to it. This way, regardless which app i'm in currently, i can always just press F6 to switch me to Firefox. I don't even have to eyeball with delay as with pressing Alt+Tab.

I want F12 to close the current tab, window, program, or dialog box. Depending on what application it is, the shortcut key may be Alt+F4, Ctrl+F4, Ctrl+w, Escape.

When i press Play/Pause button, it should play or pause music while iTunes is in the background. I shouldn't need to switch iTunes to the front first. Similarly, for Previous Song or Next Song buttons.

Small Interface Window; Cannot be Resized

The IntelliType's interface window cannot be resized. Whenever a application that has windows main interface and cannot be re-sized, it is a pain in the ass. User cannot see the whole content in a glance, and has to carefully scroll the content. Mouse wheel can scroll, but can easily scroll past by mistake because the window is small. Some apps, has long lines in the content, so user have to scroll left/right or each particular line she wants to view. The need to scroll left/right is more painful because there is no easy mouse wheel to do it, and fancy mouse that provide side moving by the wheel is too slow or too fast.


IntelliType is a great software. Its primary purpose is key mapping for special keys on Microsoft keyboards , and key macros for gaming. It is not designed as a complete key remapping software, nor is it a complete key macro software, nor is it a complete keyboard shortcut setup software. Over all, it is designed for assigning some common functionality to special keys on Microsoft keyboards, not for programers who want advanced key re-mapping or key macros.

Many of the problems of IntelliType on Windows detailed above can be solved by hacking the IntelliType's data files, or in combination with AutoHotkey. For detail, see: Microsoft IntelliType Hacks and AutoHotkey Tutorial.

Problems of IntelliType for the Mac

This report is regarding the Mac version of “Microsoft IntelliType Pro, Version 5.4 (v.105)”. The keyboard i'm using is Microsoft Wireless Natural Multimedia Keyboard .

IntelliType Mac
Microsoft IntelliType Pro for Mac.

Defining Fn Consumes Modifier+Fn

Once a function key is assigned to launch a application, any key-combination press involving a modifier and that function key will just launch the application as if no modifier key is pressed. For example, if i set F1 to launch web browser, then pressing any of Shift+F1, Alt+F1, Ctrl+F1 all will just launch web browser. If the function key launch is setup with 🅵Lock off, same problem happens. In other words, IntelliType renders modifier+functionKey combination useless.

This is bad news for me because i use function keys extensively to launch applications and each modifier+function variation launches different applications of the same type. For example, i do a lot vocabulary study so i have several dictionaries on my computer. F1 is set to launch American Heritage Dict, and i'd like Shift+F1 to launch Apple's bundled Oxford American Dict, and Ctrl+F1 to launch the web-based OmniDictionary, and ⌘ command+F1 to launch a web browser based Merriem-Webster. Other function keys are similarly occupied. (See also: Review: American Heritage Dictionary vs Merriam Webster Collegiate)

With the IntelliType problem of consuming a whole function key, my work-around is to not use IntelliType to define any function keys. Instead, use other keymapping software to do the launching. (currently am using Quicksilver utility for this.)

Discovered that, if you use IntelliType to disable the Win key, however, ❖ Window+L (lock computer) is not disabled.

See also: How to disable the keyboard Windows key At .

See also: Microsoft IntelliType Hacks

Old Microsoft Keyboard Topic