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: http://homepage.mac.com/carstenklapp/ .
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!
abdiel_bc
PowerMac G4 733 (Digital Audio) w/ SuperDrive
512 MB RAM
OS X 10.1
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: http://homepage.mac.com/carstenklapp/ .
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!
abdiel_bc
PowerMac G4 733 (Digital Audio) w/ SuperDrive
512 MB RAM
OS X 10.1