Originally posted by gravy
Problem is you cannot swap buttons if you are a lefty very frustrating. If anyone has some insight here let me know.
I've swapped the buttons on my Intellimouse by modifying Apple's mouse driver, which is part of the Darwin open source. This involved:
- Installing the developer tools for OS X
- Downloading from the Darwin site the IOUSBFamily folder
- Opening the IOUSBFamily.pbproj (in Project Builder)
- Changing the code in AppleUSBMouse.cpp to swap buttons 1 and 2
- Build the project
- Replace the AppleUSBMouse.kext package in the PlugIns folder inside the IOUSBFamily.kext package in /System/Library/Extensions
Whew! Oh, then do it again whenever you install an update to OS X (at least this is my experience with all the updates so far). At some updates, this won't work until you are able to obtain the new sources when Apple releases them. This happened on the release of 10.1, for example. Apple posted the new Darwin sources within a week or so, but there was no left-handed mouse operation until then.
Here's the code I used, at about line 590 in AppleUSBMouse.cpp (which is in AppleUSBMouse::MoveMouse):
for (usageNum = 0; usageNum < usageListSize; usageNum++) {
if (usageList[usageNum] == 1) {
buttonState |= 2;
} else if (usageList[usageNum] == 2) {
buttonState |= 1;
} else if (usageList[usageNum] <= kMaxButtons) {
buttonState |= (1 << (usageList[usageNum] - 1));
}
}
I could probably email you the binary package if you contact me privately. It's open source, after all!