Out with the Logitech driver, in with USB Overdrive
I've had a little problem with my Logitech Control Center driver for a while now. I would get this little LCC Update icon appearing in my Dock every once in a while. It seemed as though the updater was trying to tell me something. I would click on the icon but nothing would appear. Going to the Logitech site would result in seeing the same version available for download that I already had on my machines. This was occurring on both my MacBook and Mac Pro so I was pretty sure it wasn't hardware specific.
I also had a problem with TextMate, my favorite programmer's editor. Every time I would try to use the "mate" terminal command it would generate an exception and not load TextMate. I could start TextMate from the Dock bar or through Spotlight or by clicking on the Textmate.app icon, but the symbolic link that TextMate created for me was not working. Since I've been playing with Ruby on Rails I'm spending a lot of time in a terminal window and access to this is very important.
I did a little research and found Steve Jamesson's blog - he was experiencing the same problem I was. It turns out the Logitech Control Center was at fault! That was all I needed to hear - I ran the uninstall program for it, did a reboot and now the "mate" terminal command was working. Happy, happy, joy, joy.
Now my mouse is button "light"
Well, not quite happy, happy, joy, joy. Now my advanced Logitech Mx510 gaming mouse was turned into a simple device and OS X would not recognize my extra buttons. I love those buttons - I use them for browser navigation and to access Spaces. I needed something to make this work again.
From what I could see there are three aftermarket drivers that will allow you to map external devices - some not just mice but joysticks and other components as well. They are:
Each of these is sold as shareware. I decided to give USB Overdrive a try since that's what Steve Jamesson got to work. It was quick and easy to set up and sure enough I regained the function of my extra mouse buttons. If it continues to look like a winner over the next couple of days I'll be paying the $20 to get it - I think it's really important to support these guys that produce shareware.
Some Advice for Logitech
Apparently a company as large as Logitech doesn't have the resources to create proper drivers for their own devices - just read some of the comments over at Version Tracker - yet these little independent shops seem to be able to pull it off. If you are going to list that your driver supports the OS you should at least update the driver when you know it's defective.
In the unlikely event that anyone at Logitech reads this here's some advice: get someone in your business development group to talk to one of the three folks that make these little utilities. Work out a little license arrangement and make it available as your Mac OS X driver. The cost of the license to you would be minimal and the goodwill you would generate among the Mac community would be priceless.
UPDATE: I just noticed that many of my Growl notifications that were not working suddenly are working again.
Comments
I've been using SteerMouse with my Logitech Mouse and it has worked without major problems.
http://daringfireball.net/2007/10/blue_in_the_face
So I took the plunge and installed LCC. I'm not having any problems so far but I wish this post came out earlier.
I'm now thinking of uninstalling LCC and install one of the three suggested alternatives instead.
I updated the blog post to reflect another thing I just found: suddenly some of the Growl notifications that were not working are working again.
@Jim: Uninstall it. I now have two apps that were directly impacted by it.
@David: Please do an entry on Ruby on Rails at some point. I'm very curious about it. I plan to expand into Python first (Google App E) then RoR. And, I could not agree more with your point about Logitech licensing code (with the first rights to purchase should dev cease). I'm also baffled how LCC could break a symlink (!).
IIRC, Apple was very pissed off at Logitech and Unsanity for APE breaking OS X upgrades to Leo. Logitech installed it and never updated it again. The version was ancient and didn't have sufficient checking to ensure it wouldn't break the OS. Personally, I don't trust Unsanity as they break Apple's rules and create a potential security risk bigger than normal.
This has been driving me crazy for months and months, but just low-level enough that I've never gotten around to finding a solution (and have even gotten a lot more practice typing "open -a textmate 'file'").
And, from out of the blogsphere, an answer appears.
How amazingly weak of Logitech. It's astounding how grand and unbroken their tradition of miserably broken MacOS drivers is. USB Overdrive has actually been around since System 8, addressing the same exact market segment -- people who own logitech equipment.
I also considered Python mainly because of Google's App. E but decided to shoot for RoR first because it seemed more likely to be a platform I could deploy my next product on in the near term. Plus I'm hoping Google makes Ruby and most of the Rails framework an option from them in the near future.
@Metheus: Glad it helped man - it really is Steve Jamesson that figured it out though.
That way we would not have to hassle with a 3rd party driver installation and driver functions could be updated as necessary through Apple Software Update.
SteerMouse seems like the best candidate to me as it seems to keep up to date in a more timely fashion.
Cheers!
---RASTER
I spent countless hours trying to troubleshoot this issue before I discovered the culprit.
I also was having a problem with my Growl notifications not working. I went looking in the forums on Grow's website about a couple of weeks ago and found a solution, http://forums.cocoaforge.com/viewtopic.php?f=6&t=16951&sid=fa3536757fa26410c36fdcd81fc6141d. I couldn't remember when my Growl notifications stopped working. It was because of the Logitech drivers. I tried uninstalling and reinstalling Growl a few times without any luck before I went searching for a solution. My mouse works like it is supposed to except every now and then when I scroll it will not stop scrolling when I stop. It goes all the way down and won't let me go back up. I have to close the app and open it again for scrolling in the app to function normally. The next version of Growl is not supposed to be affected by Logitech's problems. Love the blog.
Sleepy
However I ended up buying Controllermate. Just because it allows me to also configure some of the extra keys on my Microsoft USB keyboard as well (without installing the Microsoft driver which also has given me problems in the past).
Controllermate is however a bit of a pain to configure.
I agree that ideally Apple should provide configuration tools to easily map all mouse buttons and keyboard keys to useful functionality.
@Anon: It never ceases to amaze me how a large company like Logitech, with so much on the line with a key piece of software that enables their products to work, will create something that is so messy that it cannot be uninstalled.
I'm using USB Overdrive to fully exploit the six-button Logitech mouse I'm using.
You may have noticed that the scroll wheel normally can only scroll vertically, but you can hold the [SHIFT] key to make the scroll wheel go horizontally instead.
That is where the scroll wheel's button comes in handy: I've assigned the scroll wheel button to the [SHIFT] key, so without pressure the scroll wheel still goes up and down, but when I hold it down it goes left and right instead. Very neat and quite intuitive two-dimensional scrolling with just one scroll wheel!
It doesn't stop there, though.
Since the scroll wheel button is now a modifier key, all other mouse buttons can now be combined with the scroll wheel button. So at least in theory you now have one action button less (because the scroll wheel now only activates the [SHIFT] key) but for the remaining buttons (five with my mouse) you now have two combinations each (with and without [SHIFT]).
In the same vein, I changed the right mouse button to just [CTRL] key functionality. That means that I need to first press the right button and then the left button in addition (chord clicking, in a way) to get a context menu which sounds odd at first but which is actually easy to get used to.
For the now just four remaining buttons I now have four combinations each, however, and more:
After enabling it in the Universal Access control panel and [CTRL] now being assigned to the right button, I can simply hold the right button and the scroll wheel will now zoom in and out. Neat, isn't it?
While I'm leaving the left button alone, the remaining three buttons now invoke the three Exposé functions and Dashboard (using three buttons without and one with the right button held down). I still have eight button combinations free for other functionalities, but I've found that Exposé is for me by far the most important functionality to have directly on the mouse.
USB Overdrive makes this kind of setup possible and is quite useful in practice. But of course, your own mileage may vary. ;-)
The Happy Happy Joy Joy Song
Cheers!
---RASTER
Ren and Stimpy performing Happy Happy Joy Joy
There is a hole in the wall facing my desk
It's the perfect print of an Logitech MX that succeeded to upset quite a lot
Since then, I stay away from Logitech ...
Rgds
I love your blog,
So, it's OK with me if my comment makes you lough
;-)
Rgds
USB Overdrive is great, but I saw some strange behaviors with Safari 3.1 since the 10.5.3 upgrade: every once in a while (i.e. randomly 40 times per hour...) the mouse pointer would stick on the window and I could only take Safari's control back by switching to another program first with "command+tab" and then back to Safari. Very annoying issue, and it stopped since I disabled my specific controls in USB Overdrive for Safari and used LCC 2.6 again.
So far, so good.