Build a better mouse trap!


Hello gang,

I've been struggling with the issue of somewhat crappy mouse support under OS X 10.1 (losing speed settings and lack of button support being the most common). I came across a fellow who'd dug into the source code for Apple's mouse driver and created a replacement driver that solved some of the speed issues, at least. You can find his files and a short tutorial on driver (kext) hacking under OS X at his iTools homepage: .

While Carsten's work is excellent, it didn't really solve my main problem of losing mouse settings when switching to and from my Macs via a USB KVM switch (Belkin): the refined kext file would be dumped by kextd if it detected the mouse had been disconnected, and since Belkin's switch doesn't keep a connection alive when a machine isn't active, my Mac thought the device was gone and thus unloaded my driver. The setup I'd originally worked with is the one Carsten recommends: installing the kext file into /System/Library/Extensions (running under the assumption that basic IO device support is built into the kernel, and thus the mouse wouldn't have a kext file in this directory), but I found through Apple System Profiler that there were conflicting versions of the kext loaded at boot time; switching from the KVM simply dumped my old kext and loaded Apple's default. I found that driver in /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBMouse.kext . Replacing it here cleans up the problem of having two mouse drivers active, and having one be dumped periodically should the device go inactive.

I'm now working on building support for additional mouse buttons like those seen on the Microsoft IntelliMouse Explorer; I'll post links once I've found something.

Hope this helps!


PowerMac G4 733 (Digital Audio) w/ SuperDrive
512 MB RAM
OS X 10.1
You are the man. That has been plaguing me since upgrading to 10.1. Never happened in 10.0.4, so I don't know what Apple changed but renaming that file buried in there seems to allow the speedier settings to remain. Good sleuth work!
I have been on a rampage recently about prople who are full of complaints but are waiting for "other people" to solve their problems.

Congratulations on becomng one of "the other people"

The whole purpose of opening up the underpinnings of the Mac is to let people come up with their own solutions.

We depend on Apple to keep a tight rein on the basic hardware parameters, and then gradually evolve the options within the constraints so that our code is ultimately reusable by the majority.

The overall problem with Unix until this point has been that architecture + solution software
tends to be a unique solution and others may benefit if they fit into the very narrow problem area.

This has been changing somewhat with Linux and other open source projects where a larger array of soutions may be placed into one package.

In Linux, there is little agreemant about what shape the ultimate or standard solutions should be.

With MacOSX we have some definite image remining from the Classic phase which helps to shape the future phase.

Anyway, a lovely ontology, an evolution toward truly "Personal Computing".

Thanks for the great work in the fight to free the MicroSerfs.....
Carsten's little app is awesome, and makes the mouse tracking alot faster.

At first I thought it had crashed my machine, cause with any movement of the mouse, I couldn't see a pointer. But then I realized that the pointer was just moviing so fast that I couldn't see it.

This has allowed me to switch back to my M$ Intellimouse Explorer. Yay right-click!

The sexiest thing about my marble mouse, back in the day, was the ability to click and hold both buttons simultaneously, and then use the ball like a scrollwheel.

This feature was not in the OS9 version of the logitech drivers... I so need to hack support for it back in- it rocked my tiny little world.

If anyone knows of any sooner than that solutions- hit me with it.