Microsoft IntelliType Review
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:
- Set a key to launch or switch apps, or open a file.
- The key can be any single key such as F1, or special buttons on some keyboard such as Web/Home, Search, Mail.
- You can set a key to type some other single key, or key combination (⁖ 【Ctrl+C】), or key combo sequence (a key macro. ⁖ type this combo, then that combo, etc. Useful in games).
- Key definitions can be app-specific. For example, you can set F1 to do something in a web browser, but something else while you are in a game.
- Some basic modifier key remapping. ⁖ can disable the Caps Lock key or the ❖ Windows key or the ▤ Menu key. On the Mac, you can make the ❖ Windows key act as Mac's ⌥ Opt key and the Alt key as Mac's ⌘ Cmd key.
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) …), 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.
Problems of IntelliType for Windows
Here are some criticisms of IntelliType for Windows. (IntelliType Pro version “7.0.258.0”)
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 ScrLk 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:
- Cannot customize the Num Lock key to do anything. The Num Lock key is almost never used by any app. Most people just leave it on, so they can use the num pad for calculator or type numbers. It would be nice, to re-define the Num Lock key, for example to launch Calculator or launch spread sheet.
- Cannot customize any of the PrtScn/SysRq, ScrLk, Pause/Break keys. For example, i want them to do close window, minimize window, toggle show/hide desktop.
- Cannot swap Caps Lock with Ctrl. (cannot swap any modifier)
- Cannot make the Windows (❖ Win) key function as Ctrl.
- Cannot customize the My Favorites buttons for anything except launching apps or files. For example, Natural Ergonomic Keyboard 4000 does not have dedicated buttons for next/previous song. I want to use My Favorites buttons for them.
- Cannot customize Insert. The Insert key is almost never used by any app. User might want to redefine it as single-key for Paste, and ScrLk can be Copy, since most Microsoft keyboards do not have dedicated keys for Copy ＆ Paste.
- Cannot set the back tick key ` to Esc. (The Esc key is far away. For many situations, such as Second Life or using the vi text editor, the Esc is frequently used. So, you might want to, for example, place it at a easier location such as the back tick location or Caps Lock location or ❖ Win key location. None of this can be done.)
The keys that can be customized are:
- The special key buttons: “Web/Home”, Search, Mail, the 5 My Favorites app keys, Multimedia keys (Mute, Volume - +, play/pause), Calculator.
- Function keys (only when F Lock is off)
- Some modifier keys can be disabled, but cannot be customized in any other way. They are: Caps Lock, Windows key, ▤ Menu key, ★ (Show Favorites).
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 F 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 (⁖ Second Life), or apps that involves lots of commands such as 3D modeling software (⁖ 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 【❖ Win+‹letter›】 for something or 【▤ Menu+‹letter›】.
Modifier Keys cannot be Customized
Many modifier keys, such as the ❖ Win 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】, Esc.
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's 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.
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 F 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 【⌘ Cmd+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 for this.)
Discovered that, if you use IntelliType to disable the Win key, however, 【❖ Win+L】 (lock computer) is not disabled.
See also: How to disable the keyboard Windows key @ http://support.microsoft.com/kb/216893.
See also: Microsoft IntelliType Hacks