Mac OS X’s Mouse Acceleration Problem
As wonderful as Mac OS X is, it has a grave defect that can have an immediate adverse impact on the computer’s usability: the way it translates mouse motion into pointer movement. For many users, moving the mouse feels unnatural because of the peculiar way that Mac OS X performs that translation. In industry parlance, the translation is called the “mouse acceleration curve.” What is a mouse acceleration curve, and how is its implementation problematic under Mac OS X?
Speedy Gonzales — Mouse movement cannot be translated into pointer movement at a simple one-to-one ratio. If it were, you’d need to move the mouse 17 inches (43 cm) across your desk to move the pointer across the diagonal of a 17-inch monitor. That would be highly impractical because you’d need a tremendous amount of space to move the mouse around, and your arm would tire quickly. (Either that, or you’d have to constantly pick the mouse up and put it back down, which would also be both tedious and wearisome, though possibly amusing to watch.)
Can you compensate by increasing the ratio so that, say, the pointer moves three inches for every inch the mouse moves? That simply trades one problem for another one. For example, on most displays, even at lower resolutions, the centers of the close and minimize buttons at the top of a standard window are typically about .25 inches (6.4 mm) apart (at higher resolutions, it’s even less than that). With a three-to-one pointer-to-mouse movement ratio, then, you’d have to move your mouse about .083 inches (2.1 mm), no more, no less, to move from the center of the close button to get to the center of the minimize button. That’s roughly the thickness of three credit cards. Moving a mouse with such precision is difficult for most people, and
if it were regularly required, it would make the computer cumbersome to use. So a simple “X-to-one” acceleration ratio won’t work because if the value of X were too low, you’d still need lots of space to move the mouse around, but if the value of X were too high, precise pointer movement would be impossible.
The solution is for the operating system to use both concepts: a higher X-to-one ratio for faster mouse movement, enabling the user to move the pointer across the screen quickly with little use of desk space, and a lower X-to-one ratio for slower mouse movement, enabling the user to move the pointer precisely without needing to be fantastically precise in moving the mouse.
With this solution in place, users get the best of both worlds. If a user is moving the mouse very slowly – say, doing detailed work touching up a photo – the mouse-to-pointer ratio might be one-to-one (or even less than one-to-one), enabling precision movement with ease. Conversely, if the user then starts to move the mouse more quickly, wanting to jump to the other side of the screen, the X-to-one ratio changes dynamically, increasing as the user continues to increase the mouse’s speed, until it reaches the other end of the X-to-one ratio, which might be as much as nine- or ten-to-one. Finally, as the user instinctively starts to slow the mouse down as the pointer nears the desired target, the operating system reverses the process,
gradually decreasing the ratio once more and enabling the user to place the pointer precisely at the desired spot. (The math behind all of this is quite complicated. You may never look at your mouse the same way again.) The whole process makes it possible for the user to move the pointer from the photo he’s touching up in the lower left of the screen to an icon in the upper right of the screen by moving the mouse only a short distance.
If you were to take a sheet of graph paper and create a standard X-Y coordinate system – remember high school algebra? – with X representing the speed of the pointer and Y representing the speed of the mouse, and then map the ratio conversion process onto that graph, you’d end up with a sloping line, moving upward at first, and then flattening out with greater values of X. This line is called the “mouse acceleration curve.”
Sharp Curves Ahead — So what’s wrong with Mac OS X’s mouse acceleration curve? Simply put, it’s the wrong shape. For mouse motion to feel natural (at least for most people), the curve has to start by moving upward fairly moderately, then gradually flattening out as the value of X increases. Mac OS X’s, curve, however, starts off by being too steep, staying too steep for too long, and then flattening out too abruptly. In practical terms this means that, frequently, as a user tries to use the mouse to move the pointer from point A to point B, the pointer motion feels sluggish. The user then tries to compensate for the sluggishness by moving the mouse faster, and the pointer suddenly goes flying across the
screen and overshoots point B. A comfortable and useful curve is actually shaped like a curve. Mac OS X’s curve, however, is shaped more like a cliff.
It wasn’t always this way. Under Mac OS 9 and earlier, the curve was different and provided more natural mouse behavior. Then, for some reason, Apple apparently decided to fix something that wasn’t broken and changed the curve. They made no announcement of the change and, to the best of my knowledge, it does not appear anywhere in their technical documentation. (Microsoft, conversely, explains how the Windows XP mouse acceleration curve works on a publicly accessible Web page.) For this reason, most people don’t know about the change and are wondering “why the mouse feels funny” because they don’t understand the esoteric details of the mouse acceleration curve. (And who can blame them? It’s anything but simple arithmetic!)
I was one such person myself for quite some time, experimenting with different mice and a variety of mouse pads and other surfaces, trying to figure out how I could get the mouse to “work right again.” It was only after many months of Googling on a variety of search terms that I finally found out about acceleration curves and learned that Apple had quietly changed theirs. I was fortunate in that I had several years of experience with the Classic Mac OS that told me there actually was something that needed to be fixed. People who have only started using the Mac in more recent years have no such advantage.
The unnatural motion of the new curve is troublesome for many users. User “Sludge” on the MacSlash Web site, for example, complains, “I can’t believe how horrible mice feel on OS X compared to XP and Linux/XFree86.” Scott Moschella of PlasticBugs.com opines, “[T]he mouse acceleration…makes OS X’s mouse tracking feel like you’re mousing through mud,” referring to how the low end of the curve is too steep for too long.
Of course, not all users have this complaint. Some say they actually prefer the new pointer behavior, and some even claim they don’t notice any difference. For those who do have trouble with the new curve, though, it’s highly problematic – often in ways beyond just the difficulty in getting the pointer to move to the desired location.
When mouse movement feels unnatural, the user may subconsciously try to use hand and wrist muscles to compensate. At best, that’s uncomfortable. At worst, it can be painful. In my own case, my wrist starts to cramp after only a moment or two. After about 20 minutes, most of my forearm is in extreme pain, and I have to stop using the mouse altogether.
Over time, users with this type of difficulty using the mouse can suffer from the permanent damage known as an RSI (repetitive stress injury). I am one such sufferer. An anonymous user on MacSlash rails about “the RSI-inducing unpredictable madness that is the Mac mouse acceleration curve.” And on LifeHacker.com, user “PhotoHobo” complains, “One of my biggest annoyances with OS X is the horrible mouse acceleration. As someone who is constantly battling RSI, I find this intolerable.” Web searches find a number of other users voicing similar opinions and having similar difficulties.
Realigning Your Curves — So the problem is certainly real and immediate – at least for some of us – but can anything actually be done about it? There is no setting in Mac OS X itself to modify the acceleration curve. Sometimes, well-meaning users suggest modifying the Tracking Speed setting in the Keyboard & Mouse pane in System Preferences, but that doesn’t provide a complete solution. The problem isn’t speed, per se, but the acceleration curve. Changing the tracking speed does not change the shape of that curve. It just makes the whole curve smaller or larger, rather like using a telephoto lens (or a wide angle lens) to take a photograph of the same cliff from the same location.
Apple has left a void, then, in Mac OS X’s settings. Fortunately, many third parties have tried to fill that void, and most do the job quite admirably. For example, several mouse manufacturers, such as Kensington, include their own mouse drivers and software that can be configured to override Mac OS X’s mouse acceleration curve. The only drawback is that the software is usually specific to the hardware.
For those who already have mice that they don’t wish to replace, there are other solutions, each with advantages over the others. MouseFix (freeware) is a simple program that changes some of the numbers used in Mac OS X’s mouse driver in an attempt to make the curve more natural. However, it can be difficult to install for the non-technically inclined, and its presets are not customizable.
USB Overdrive ($20) is shareware with no trial period, and it offers an extensive variety of options for configuring mouse behavior, as well as the behavior of other USB devices. You can even configure it so that the mouse will behave differently depending on which application you’re using. Its chief drawback, as the name implies, is that it supports only USB devices – if you use a Bluetooth mouse, you’re out of luck. (The author, Alessandro Levi Montalcini, says that Bluetooth support is coming, but offers no time frame.)
SteerMouse ($20) is also shareware that offers a wide variety of customization options for mouse behavior, and unlike USB Overdrive, SteerMouse supports Bluetooth mice. Its main disadvantage is that it was designed with Apple’s Mighty Mouse in mind – it does work with other mice, but support may be more limited. Also, the trial period is only 15 days, which may not be long enough to fully explore the software, because finding the most comfortable settings can take a while. I ultimately chose USB Overdrive over SteerMouse for this reason. SteerMouse expired before I became comfortable with it, whereas USB Overdrive, having no expiration date, afforded me ample opportunity to find the mouse
settings that worked best for me.
Hopefully, Apple will realize that changing the mouse acceleration curve was a mistake and revert to the old one. Better yet would be to add a setting to the Keyboard & Mouse preference pane to enable the user to configure the acceleration curve as well as the speed. The likelihood of that is anyone’s guess, but in the meantime, we can save our hands, our wrists, and our sanity by having a clear understanding of what the problem is and working around it with third-party solutions.
Mac OS X, as we all know, is the Ferrari of operating systems. Unfortunately, the steering has a design defect, but with a little mechanical effort, we can modify it while we’re waiting and hoping for the engineers to recognize the problem and fix it.
[Parrish S. Knight is a systems administrator for an IT consulting firm in the greater DC area. His interests include politics, film, fantasy, and science fiction. In addition to getting the word out about Mac OS X’s mouse problems, his causes include activism in autistic advocacy and civil liberties.]