08 April 2011

Mac OS X Kernel Panics due to Microsoft IntelliType: Solution

It seems all evidence [1] points to Microsoft IntelliType causes kernel panics on Macs. This seems to be a problem that has existed for a long while, from IntelliType versions 7 at least up to 8, and Mac OS X from 10.5 at least up to 10.6.

I learned this the hard way, having bought a Microsoft Comfort Curve 2000 ergonomic keyboard. That's a wicked keyboard, by the way, if your shoulder width is not so wide, because it has only a slight curve, rather than the dramatic curve of other ergonomic keyboards. It also has a light but distinctive touch, so it's easy to press the key down, but not so easy that you would accidentally "smoosh" a key down by accident. The key's travel is also quite short, so it's less finger motion required to type.

Unfortunately, installing the IntelliType software seems to have caused kernel panics for my MacBook Pro on the order of once or twice a day (under heavy typing load. That meant I lost a lot of programming and typing of emails and reports. sigh

The solution is simple: uninstall IntelliType. The uninstaller is in the Utilities folder in the Applications folder. But that's not a very good solution by itself, because the Command/"Apple" and Option keys are reversed on Microsoft keyboards compared to Mac keyboards. So here's the other half of the solution:
For some reason, Apple's own Keyboard preference pane doesn't work for remapping the common keys. It's supposed to work, but it doesn't for me. No idea why.

What works is this:

You need KeyRemap4MacBook and maybe the PCKeyboardHack. They are free and open source software, it seems. Not the most user friendly, but quite easy to understand.

With KeyRemap4MacBook, you'll need to check off the following options (at least for my MacBook Pro laptop):

Don't remap an internal keyboard

Don't remap Apple's keyboards

Command_L to Option_L

Command_R to Option_R

Option_L to Command_L

Option_R to Command_R

That will get your Microsoft keyboard back to behaving more like a made-for-Mac keyboard.

I use the capslock key as an extra control key. For this option, you'll need PCKeyboardHack. In it, you'll need to check off the "Change Caps Lock" option, then double click on the keycode and change it to 59.

Problems solved!

The keyboards multimedia keys will still work, but the quick launch application keys won't. Oh well.

Further Implications

So after fixing your keyboard, let's talk about your Microsoft mouse, because you've probably got an awesome Microsoft mouse as well. I use a SideWinder X8, which is pretty much useless without the Microsoft IntelliPoint software. I'm happy to report that IntelliPoint doesn't cause kernel panics much...probably none even. It's been so rare, if ever, that I can't recall it crashing due only to having the mouse plugged in within the past 3+ months. However, YMMV, and the internet chatter suggest it may just cause kernel panics less often, say on the order of once every few months.

The fix I suggest above does have one implication though for the IntelliPoint settings: if you set your mouse button to press a key chord sequence, you'll have to set it pretending that the keys pressed are the ones on an external keyboard. So if you want the key sequence to be effectively Command+O, you'll have to set it to Option+O (using the suggested configuration above).

[1] All evidence means my personal experience with using the Mac with the Microsoft IntelliType software installed, and the Microsoft keyboard plugged in for 1.5 months, and comparing that with using the Mac without the Microsoft keyboard plugged in for another 2.5 months. Plus the reports of others from across the internets.