

The cause for all your Mac OS X mouse annoyances - saurabh
http://d43.me/blog/1205/the-cause-for-all-your-mac-os-x-mouse-annoyances/

======
lloeki
Wild guess at where it might come from:

32ms divided by 4 is 0.008s which gives us 125Hz (the typical mouse sample
rate). So my guess is that some form of mouse movement analysis (like mouse
smoothing) is working on at least four samples (so that it can statistically
mean something), rolling.

Why it does so might be that 32ms is the right time to evaluate the intent of
a typical human interaction with a pointer, maybe even using some form of
inverse kinematics, so that when you move your hand towards a small button
aiming is smoothly assisted, and/or click target is helpfully adjusted in size
to enhance Fitt's law compliance (like iOS keyboard keys dynamically changing
sizes depending on the sequence of letters, hence words you type)

Of course this bites hard outside of this environment. It seems Mac OS X needs
an API to provide some form of raw value access to the pointer so that
arbitrary software (notably games) can conduct its own analysis.

Anecdotally, my personal experience has been that it never bothered me,
neither in games (FPS and RTS) nor in WIMP.

~~~
feralchimp
I'm a little surprised that mouse state is something that a modern OS would be
sampling (as opposed to, say, getting events 'pushed' by the device up through
the driver). Or is this one of those "all event systems are really sampling
once you look deep enough" things?

~~~
elarkin
Mice don't send a continuous stream of information to the computer. Instead,
they send samples at some rate. It's that rate that lloeki is referring to.

~~~
feralchimp
So the mouse itself is polling/sending at a particular rate? It sounded to me
from the article (and the above commenter) like the host machine was doing the
polling.

------
eykanal
Longtime Mac user here... for what it's worth, I don't know what the OP is
referring to. I use both Mac and Windows regularly (home vs work), and I don't
see a noticeable difference. Maybe I've just gotten used to it. Definitely
isn't a problem for me.

~~~
Gravityloss
Windows and Linux (Ubuntu Gnome or whatnot) have a much much much more
responsive mouse input for me than Mac OS X. Maybe some people don't notice
this, but for those who do, it's very annoying. It's inconceivable to me how
somebody doesn't notice it, especially if OS X is supposed to be for graphic
designers who use the mouse a lot. Maybe they all have Wacom or some such
tablets.

It's much harder to hit any buttons because you can't just speedily mouse over
it, you have to use visual feedback to inch on it. And it causes much more
stress and strain on your hand, wrist, elbow, eyes and everything. No matter
what mouse hardware you are using. The same mice work very well in Windows and
Ubuntu. The OS X drivers just suck. I've tried USB overdrive, mouse settings
and everything. The basic lag just doesn't go away.

Too bad some keyboard shortcuts like for scrolling work really bad in OSX too
- the cursor stays in one place when going up or down pages meaning you have
to use the mouse.

The cursor jumping is another crazy issue indeed. You never know where it is
going to be once you go over a certain speed threshold.

(Writing this from OS X. Otherwise it's quite nice.)

Caveat: I used to play Quake where the difference between 60 and 77 FPS is
life and death. Everybody used high rate CRT:s and clocked their mice to 500
Hz or so. Here's a _real_ mouse test:
[http://www.esreality.com/?a=post&id=1265679](http://www.esreality.com/?a=post&id=1265679)
. I'm annoyed at the mushy interfaces that electronics could have gotten rid
of decades ago. It's somehow just a less stressful situation to take photos or
browse them in a camera with less delay for example.

~~~
alanfalcon
Counterpoint: the Windows mouse acceleration is terrible. Messing with the
cursor speed doesn't help, it's impossible not to end up with jumpy moves and
constantly overshoot buttons and menu options (doubly so menu options since
the single convenient always-at-the-top-of-your-screen menubar isn't present).

If you grew up with one system, the other is horribly broken and I'd argue
nearly impossible to learn. I'm a graphic designer who used Windows for years
at work without ever "getting used to it", even if I never came home and
touched my Mac. Now I work full time at home and it's heaven to have a
mouse/cursor that does what I want it to do.

------
bni
Newish Mac user here. The "feel" of mouse cursor movement is one of the few
areas were Windows is superior. Years ago something like this was a big issue
in Linux/X.org aswell but recently it has been fixed, atleast it feels like it
for me.

I have noticed this "lag" with my magic mouse. Until now I have assumed there
is something wrong with the hardware in it. Or that the bluetooth connection
was breaking up. When I use the build in trackpad I have never noticed any
lag.

Since Apple normally pay attention to details like this, im suprised that they
have ignored this issue for so long.

If you use it for a while you might become blind to it?

~~~
lautis
I don't mind the mouse lag in normal use, but it's very annoying in FPS games.
I've actually spent a day or two tweaking OS X mouse acceleration curves and
whatever settings I could find. At the desktop I could get more "windows-y"
feel, but always when I tried new settings TF2 the feeling was still wrong.

The lag author described is a plausible cause for my experiences.

~~~
mirkules
TF2 is completely unplayable for me. I have to dual boot.

The other area where it drives me crazy is highlighting text - for some
reason, it always feels cumbersome.

------
mirkules
I expected to open this thread and see a bunch of "I've been using Macs for a
long time and I've never seen a problem," and I was not disappointed.

Most people are not sensitive to minute changes in the way a mouse moves and
feels. I've been a long, long time Windows user, and I absolutely love the way
the mouse feels on a Windows system. I used to be a gamer as well, so I
appreciate precise input, which is why I prefer high-resolution _wired_ mice
over wireless ones.

There is _definitely_ a lag in OS X, and it drives me absolutely crazy. I
started using OS X when Tiger came out, and I haven't seen any improvement
through Snow Leopard (haven't used Lion yet). I mis-click on stuff all the
time and it breaks my concentration having to focus so hard on the mouse. I am
definitely willing to pay for a fix!

I should also note I tried USB Overdrive and another utility (name escapes me
atm), but to no avail. Also, like many other people here, the touchpad is
absolutely fantastic, I only see the issue with connected mice. This is
probably due to the fact that I don't do graphics or precise movements with
the touchpad, so it's much much more tolerable.

------
colincsl
Am I the only person that loves the mouse/trackpad feel in OS X? Maybe it's
because I've gotten too used to it, but I find it somewhat annoying to switch
to Win or Ubuntu because of the different feel they have. I was using Ubuntu
for about 6 months last year and never quite got used to how jumpy it felt
(and yes, I did play with the mouse settings).

~~~
mietek
No, you're not the only one. There's simply more switchers than ever before,
and they're vocal about their complaints.

~~~
kitsune_
It's not just "switchers" that complain about this stuff. If there is one
thing Apple can't get right, it's mouse input.

The input lag is one thing. What about the actual hardware? Remember the
hockey puck? The pro mouse? The mighty mouse?

There is a joke somewhere in there... maybe about Jobs having to "invent"
multi-touch because he couldn't grock the concept of a mouse.

~~~
mietek
The hockey puck was a miserable failure. Other than that, there's no problem
with Apple input devices.

In particular, the multi-touch trackpads are the meow part of the cat.

------
Cixelyn
Also a newish Mac user here.

Played Starcraft/SC2 at a fairly decent level. To an RTS player the lag is
extremely maddening as every mouse movement seems a bit off. (to get a good
feel for exactly what's off, try to repeatedly draw diagonal strokes of the
same size as fast as possible in any paint application for a good minute or
two. Do it in both Windows and OSX and you'll notice something feels off about
the OS you're not used to)

I tried a large number of things to get the feel right (all the old blog posts
said that only acceleration was to blame), but even with mouse acceleration
disabled, something felt off. Right now I only feel comfortable using my mac
with mouse acceleration set to -2x for some reason.

I eventually just gave up and uninstalled SC2 from OSX. Now I only play it
whenever I'm dual booted into Windows. Almost all the other mac users I know
who play SC2 use this solution.

------
cameldrv
If you buy a Microsoft mouse, it comes with a driver that will make the mouse
behave like it does in Windows.

~~~
cowpewter
You can download the driver without buying a new mouse (or lost your disc).
I've plugged in Logitech mice with Microsoft Mouse installed before and it
still seemed to work fine. <http://www.macupdate.com/app/mac/29220/microsoft-
mouse>

------
gnaffle
I've always had this problem, and as a result I really can't use an external
mouse with OSX. I've never had a problem with using the trackpads.

Like one of the commenters mentioned, using synergy from a Linux PC solves the
problem for me. For a period, I actually resorted to running a Parallels
instance of Linux with the external mouse attached to it, and setting up
synergy to share the mouse pointer with OSX.

I'd like to run Linux as the main OS on my MacBook Pro, but in Linux the
problem is the opposite: I've never found any driver / setting that makes the
touchpad work really well under Linux (any hints would be appreciated - of
course, I could always run OSX in VirtualBox under Linux, connect the touchpad
to OSX and share it using synergy.... :)

~~~
starwed
Yeah, that's the one reason I never really run Ubuntu on my Air, even after I
successfully jumped through all the hoops to get it installed. :)

I tried several different sets of tweaks but none of them felt right.
Especially, I don't think any of them let you select with one finger and then
drag with a second.

(Last I tested was about 6 months ago, I'd say.)

~~~
simcop2387
That's one of the things that the fairly recent Multitouch patches to the Xorg
input layer should begin to fix. How long it'll take for environments to start
implementing things like that I'm not sure.

------
oacgnol
I always knew that there was something off about the Mac OS X mouse pointer,
but no one I knew really thought anything of it. Coming from using high end
gaming mice on Windows machines for 8+ years, I could feel the difference with
the mouse pointer on Macs having a slight lag to it no matter how fast the
machine.

That being said, Mac touchpads feel like heaven and I haven't used a single PC
touchpad that even comes close to it.

------
netmute
I noticed the exact opposite to be true. I regularly use Windows, Linux and
OSX, and OSX seems to be the only OS that gets mouse movement right. The
cursor moves (at least subjectively) exactly like my fingers on the trackpad.
On Windows/Linux it always seems either too slow or too fast.

~~~
ssharp
Maybe it's just something you get used to. I use OSX 95% of the time and the
5% I'm on something else, I think the cursor is too jumpy. I'm sure if I
flipped those numbers, I'd think OSX is too delayed.

I don't play FPS games, but it sounds like the lag is a major problem. If
Apple has the lag by design, it would make sense for this "feature" to be
turned off by default once you start a game, and turned back on once you quit.

Apple has never appeared to be particularly concerned with satisfying the
hardcore gamers who tend to play FPS games and who would notice the lag, so
this is probably a really low priority for them.

------
feralchimp
There are a lot of ways for mouse input to be annoying for a particular OS /
user. The bug described by the article, though, is not an area of
"preference." The article claims that _every_ device input to the mousing
system takes [an extra? at least?] 32ms to be reflected in the state of the
window manager.

To the question of whether it's "noticeable" or not, it'd be cool if someone
wrote a driver or extension to _intentionally_ add some additional lag. So
even if we couldn't tell whether 15ms felt "snappier" than 32ms, we could at
least report on whether 64ms feels "floatier" than 32ms, for example.

Not totally surprising that QuartzExtreme was mentioned. Flowing everything
through a resolution-independence engine (right?) doesn't sound like it'd be
free, even with fast procs and graphics cards.

~~~
tikhonj
The problem with just adding more delay to see if it would make a difference
is that the way you feel the delay is likely nonlinear.

~~~
feralchimp
Great point. Per my example above, we might only discover that "64ms kinda
sucks", not that "an additional 32ms on top of the original 32ms kinda sucks".

And who knows, maybe after a "kinda sucky valley" there's some comfy-feeling
region up above 250ms, where the "float" just feels okay. :)

------
bane
I think this is plausible, but I don't think it's right - mouse input seems to
happen when I want it to, I just have no idea where the cursor will end up. I
hate hate hate using a mouse on my mac, it's probably the most elbow, wrist
and shoulder harming activity I do.

I simply can't, after 4 years, move the mouse swiftly, and precisely to a
point on the screen that I want. It falls short, it goes too far. I slow down
to be more precise and the acceleration curve makes it go too annoyingly slow.
I speed up and the cursor flies all over the screen. The cursor movement speed
_feels_ random and useless. I can't imagine how anybody tolerates it.

It's bloody annoying and the fact that there's not an option to just turn the
stupid acceleration off is mind boggling.

I don't have these problems on Windows, Ubuntu, QNX, Haiku, Amiga OS, GEOS on
the C64, RISC OS, the SNES mouse, etc. It's _only_ OS X.

I don't even recall having the issue on MacOS.

I don't know if it was because I was damaged as a gamer when I was younger and
can't appreciate something about the Apple way of handling mice, or Apple is
just doing something _wrong_ , but the way the device is handled on
practically every other system I've ever used doesn't work like it does in OS
X. It's infuriating and I've spent countless hours trying to fix it.

It's like my right arm has some debilitating muscle disease where I can't
_quite_ control what my arm does -- I can only give it vague directions and
hope it ends up more or less where I want it to, then shift gears and take my
time to get it to where I want it to go.

------
devsatish
Thanks! I hate OSX mouse. If it's not for the good trackpads on MacBooks and
the new trackpad, I could have gone back completely to Windows.

Bought Logitech/Microsoft/Cheap store brands, none of them gives a smooth
mouse movement on OSX. It feels like someone's holding ur hand while using the
mouse.

------
jamesrom
This problem annoys me a lot. I have a KVM switch and switch between Windows
and OS X a lot. Every time I switch from Windows back to OS X the mouse
behaviour is noticeably different and a moment is spent self correcting the
mouse and quickly relearning it.

I have tried a few different mouse acceleration fixes/apps but still can't get
it to feel right. This article explains why nothing I've tried works well.

------
chris_dcosta
I found a hardware solution to this, it's not going to sound great though, but
it worked for me.

I found that all optical mice suffer from a kind of blindness when faced with
surfaces that do not have sufficient contrast and crucially sufficient variety
in the pattern.

It's as if the mouse thinks it's still looking at the same spot if its moved
on a surface like this, hence the delayed reaction or lag.

I searched far and wide for a suitable surface and I found a picture of
pebbles on a beach worked best as long as the surface of the picture is also
matt and not glossy.

I know it's not a tech solution...

~~~
Gravityloss
This may fix the problem for some, but at least for me the exact same mice and
mousepads worked fine in Windows and Ubuntu. It's an OS X software issue.

------
zyb09
Got a Razer Deathadder, they come with their own OSX drivers that seem to
circumvent the issue. Also sad to see so many Magic Mouse users here ;) I know
everybody has their own preferences, but that is not a good mouse.

~~~
bodyfour
I actually used a Razer Imperator, but I found it to be _very_ flaky: about
once an hour it would lose the plot completely and I'd have to unplug and
reinsert the USB cable. Not a great experience in-game :-( I don't know if it
was that particular mouse or the OS/X driver that was causing me problems,
though.

I switched to a Steelseries Xai, and I've been loving it. It doesn't have any
special mac drivers but all of the fancy settings are controllable via a
little LCD screen on the bottom of the mouse.

I'm not sure if its affected by this "32 ms" problem. I only use OS/X so I
might just be used to it at this point.

~~~
Flow
My Deathadder 3G Spawn is of Apple quality.

The cable is covered with cloth, not plain plastic.

See if there's a newer firmware for your mouse.

------
rix0r
The author is probably right that there is an issue somewhere, but since I've
been using SteerMouse (<http://plentycom.jp/en/steermouse/>) I haven't had any
mouse annoyances anymore.

Not sure what it changed though; I thought it was the acceleration curve but
for all I know it could be replacing the entire OS X mouse driver, laggy code
and all.

~~~
ovi256
The author says that the bug is in the OS X kernel, not in any driver, so if
he's right, changing a driver would not fix it, which is a pity.

I've also had Windows friends complain about mouse lag on my OS X. I've always
thought it was due to the different acceleration curves, but disabling OS X
mouse acceleration never seemed to fix it.

~~~
jonhohle
The OS X kernel is largely a collection of pluggable extensions. It's likely
an extension could take the place of the default mouse driver. In fact, the
source might even be available to get down to the real issue.

------
kapowaz
I've long disliked the acceleration ‘feel’ of Mac OS X, and have worked around
it with acceleration-curve adjustments etc., but I find the explanation
provided highly doubtful. Why? Well, for one: various games circumvent OS X’s
own mouse speed/acceleration settings, and when they do so instantly reproduce
the ‘feel’ from Windows. The same is true when emulating Windows through
virtualisation software. If this was a hardware lag issue, then surely both of
these would be affected too? And even were it a hardware issue, it shows that
you can remedy it in software.

I'd long believed that the problem would never be addressed, and then a couple
of months ago I used a new Apple Magic Mouse with Lion; the acceleration and
speed was so good out of the box that I didn't install USB Overdrive as part
of my new Mac setup routine for the first time in over 5 years. Could it be
that it's a driver issue, or just different devices have different
acceleration characteristics? Perhaps, but whatever the case might be, I'm far
less inclined to attribute it to input lag.

~~~
alextgordon

        > The problem is caused by a bug somewhere at the windowserver level
        > of Mac OS X, and not by a mouse driver. You can supposedly avoid
        > the issue by disabling QuartzExtreme.
    

So not hardware-level, but UI level. So it would make sense that it would not
happen in games that don't use the windowserver's cursor.

------
Groxx
You used to be able to get rid of this (or at least dramatically reduce it) by
turning off "ignore accidental input". Sadly, 10.7 doesn't appear to have an
equivalent, at least in the UI.

Changing that option changed a _lot_. I loved it. But 10.7 is a bit better at
managing it than it used to be, or it feels that way to me, so I don't mind as
much as I did.

------
LachlanArthur
The mouse has always felt 'different' to me on OSX. I think this explains half
of it, the other part being that the hotspot pixel for the cursor isn't
actually at the tip, but two pixels down.

<http://lach.la/n/wp-content/uploads/2011/12/Cursor.png>

------
tambourine_man
Conversely, I've always hated Windows mouse response.

Granted, I've never owned a Windows box. Every time I had to use one I was
deeply annoyed at that inaccurate epileptic pointer.

But it's a common complaint among converts. There should be an option for
that.

------
ericdykstra
I started using SteerMouse to get rid of the acceleration, which helped that
part of the problem, but I didn't have an explanation of why playing Starcraft
2 on OS X feels less accurate than when I play on my home computer except that
it didn't 'feel' right. I don't notice it when I'm just working or browsing
the internet, but when I'm trying to accurately control mouse movement to
specific spots repeatedly in a game, it's a glaring flaw. Kudos to the author
for figuring out the root cause of the issue. Hopefully now someone will be
kind enough to offer a fix.

I can't understand why this issue would persist in a major operating system.

------
the_mitsuhiko
This has not been fixed since OS X Tiger. In fact, they even removed
functionality that mitigated that problem. I used to run a small application
that would patch the acceleration curves but that API has vanished since
Leopard. :-(

------
jjcm
Anyone who games at all can confirm this. There's a reason why no competitive
starcraft player plays on OSX, despite it being available on that system. The
lag is immediately noticeable. The acceleration curves are fixable and fine,
but the input delay has led to enough frustration personally that I ended up
installing windows on my MBP for gaming. It's a shame, I really like OSX as a
platform, but these tiny hurdles stop hoards of gamers from touching it.

------
jaysonelliot
Strangely, I'm using a Cyborg R.A.T. mouse on a MacBook, and I can see a
noticeable difference between mouse movement when using the touchpad vs. the
mouse.

I'm not a gamer, but I appreciate the precision of a gaming mouse in my
everyday work. I have never been able to use a wireless mouse because the
delay is too disconcerting for me.

Is it possible that I'm getting less lag with my mouse than I am with the
trackpad? Or is that in my mind?

------
cheald
This is really interesting to me, because one of the key differences in the
"feel" between iOS and Android is the touch "dead-zone"; Android's is larger,
iOS' is nearly non-existent, and this often serves to make Android feel less
responsive than iOS.

It's very curious that something like this could slip through into OS X given
Apple's fanatical attention to detail, and the fact that they're aware of what
that delay means for mobile UX.

~~~
arandomJohn
That is interesting to me. I've developed an iOS game that uses precises
touch/swipe gestures to control movement. In iOS 3.2 Apple changed the
infrastructure for touch events such that there is a huge (100ms) lag for a
swipe event. This made my game perform terribly in certain situations. I filed
a bug with Apple and even spoke to an Apple engineer. I was told that the lag
is there for system level gesture recognition and there is nothing to fix.

~~~
glhaynes
Are you using UIGestureRecognizers or UITouch events?

------
RandallBrown
Maybe it has to do with the fact that I like a pretty slow mouse (at least
compared to some coworkers), but I've always felt that the OS X mouse felt
much nicer and more natural than Windows.

Don't even get me started on trackpads either. It's like writing trackpad is a
problem solvable by a single human being and that person works for Apple.
Seriously, their trackpad is fantastic and every other one is complete
garbage.

------
pippy
I've been looking for a mouse acceleration program that solves this problem. I
can't tell you how many times I've installed / uninstalled Mouse Acceleration
preference pane, Mouse curves, and that Japanese mouse acceleration program.

It's incredibly frustrating. It's one of the things that takes Mac OS X from a
perfect operating system to a good operating system. And it's such a simple
problem.

------
jibbit
There seems to be some confusion here.. some people are referring to the
System cursor (which is not drawn by the CPU/GPU at all) and some people are
referring to in-game cursors (i.e. the system cursor is hidden, the mouse
position is updated and a custom cursor is drawn as part go the game loop).

------
burriko
Microsoft used to provide a Mac driver for their Intellimouse range that
seemed to fix this and changed the acceleration curve to match Windows which
felt much more natural to me. Unfortunately since switching to a Magic Mouse I
can't use it anymore.

------
autoreverse
I've been using mousezoom for several years with mouse speed set at 5.35
(approx 3x Apple's maximum speed). No lag for me!

<http://benh57.com/mousezoom.html>

------
baddox
I'm not entirely convinced that lag is the _only_ problem, but I will say that
the mouse problems are the primary reason I sold my current-gen 13" Macbook
Pro a month after buying it. It was simply unusable with a mouse.

The reason I'm not convinced is that my old Macbook Pro running Tiger had the
exact same issues, but a proprietary mouse drive called USB Overdrive X
allowed me to remove the acceleration, and the mouse felt perfect. That driver
apparently didn't work in Lion (or Snow Leopard), and every single
script/setting/utility I could find for supposedly disabling acceleration
didn't change anything except perhaps speed (sensitivity).

------
rjj
This, and the file sorting in Finder (folders not locked to the top) drive me
nuts.

------
nirvana
I've done original research where we tested users perception of lag. We tested
5ms, 10ms, 15ms, and up. We found that most people were able to perceive lag
in the 30ms range, and so this post is correct when it says that. However, I
was able to recognize lag down to around 15ms. (We did double blind tests and
you had to indicate when you saw lag, not all of the events were lagging. It
was pretty accurate, but this was a test for some gaming software and so the
results weren't published.)

I perceive no lag in the Mac OS X mouse. I am very sensitive to it. I'm able
to perceive the flicker in fluorescent bulbs, yet I do not see any lag in the
mouse.

I think if he's seeing 32ms, it is some particular combination of hardware and
software.

I've tested this again with my trackpad and my cheap logiteck trackball. No
perceivable lag.

I play Team Fortress all the time, there is no mouse lag. There is, of course,
noticeable network lag.

~~~
ars
Just a side note: Everyone can see the flicker in old 60hz magnetic ballast
florescent bulbs, not just you. It just doesn't bother everyone.

No one can see flicker in bulbs with electronic ballasts though.

------
caycep
not doing twitch gaming all that much, thankfully blissfully unaware of
this...

