problems of Microsoft IntelliType

perm url with updates:

Problems of Microsoft IntelliType

Xah Lee, 2007-10, 2009-11-04

IntelliType is the software that is bundled with Microsoft's keyboards. The software allows you to assign functionality to various special keys and function keys on the keyboard. For example, you can set a key to launch or switch application, open a particular file, or press some keyboard combination instead. It also allows you to set up some other keyboarding related preference, for example, you can switch the functionality of Caps Lock key and Ctrl. You can also make the Windows key act as Mac's Option key and the Alt key as Mac's Cmd key, for Mac users.

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

Problems of IntelliType for Windows


Here are some criticisms of IntelliType for Windows.


Microsoft IntelliType Pro for Windows. (driver version

Not All Keys Can Be Customized

The software does not let you customize all keys. Only a small set of keys. For example, 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.

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, such as Cap Lock, Menu key, the “★ Show Favorites” cannot be customized except disabled.

Also, some of these buttons or keys cannot be fully customized. For example, the “My Favorites” buttons can only be set to launch programs.

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, except some very basic ones such as disable the key.

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.

Problem With Macro Function

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 documention. 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 switches to the next 2nd application. (for how to actually do this macro, see: Microsoft IntelliType Hacks)

(Note: IntelliType does have a default command called “Next Window” and “Previous Window”, but the command 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.)

Windows Cannot Be Resized

The 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 usually difficult to control here because the window is small. User can easily went over. 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.

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.

• Once a function key is assigned to launch a application, any key-combination press involving a modifier and the 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 up, 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 literature research 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: A Review of 3 Dictionaries)

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.)

Popular posts from this blog

11 Years of Writing About Emacs

does md5 creates more randomness?

Google Code shutting down, future of ErgoEmacs