Logitech

Logitech diNovo on Mac

Apple

One of my reasons for picking a Mac Mini was to be able to use a custom keyboard and mouse - compared to the official Apple products, which I'm not a fan of. Being a writer and coder I spend a lot of time with my keyboard, so getting the best possible keyboard was my main concern. My eyes soon set sight on the Logitech diNovo, which turned out to be a much better keyboard than the alternatives. Getting the stuff to work perfectly on the Mac Mini is unfortunately another case...

diNovo on Mac

The hardware: Keyboard

  • Logitech diNovo Bluetooth

Having Bluetooth in my Mac Mini a Bluetooth keyboard seemed like the right solution, so I got the diNovo Bluetooth set. This turned out to result in a number of problems. First of I never got it working directly from the keyboard to the Mac Mini. The set is designed to run through a Bluetooth dongle, as your traditionel pc doesn't have built-in Bluetooth. So while the Bluetooth set was running with the Bluetooth>USB dongle on an old G4 Mac, I couldn't get it working on my Mac Mini with built-in Bluetooth. Secondly, even when it was running via USB, the numerical keyboard was messed up. Most of the keys didn't respond or gave a wrong key. So I gave up on the Bluetooth set pretty quickly.

  • Logitech diNovo Cordless (for Notebooks) RF

I was recommended the RF set for notebooks instead. It uses a USB dongle as well but since it's RF it doesn't have any issues with the built-in Bluetooth in my Mac Mini. Secondly the numerical keyboard works without any problems. And thirdly the silver outline matches the Mac Mini ;) So this was my choice for a keyboard.

The hardware: Mouse

The included mouse with the the diNovo cordless set is a very simple and small mouse, which may satisfy others (in which case they'll realize it works without any problems on the Mac Mini). I really wanted something heavier, larger, more comfortable and certainly more buttons. The included mouse with the Bluetooth set is the MX900 which was more to my taste. This was however my first time with optic mice, and soon they started to bother me. Tiny movements as needed with for instance image processing often caused the mouse pointer to flicker around. Not an issue for writing and coding, but I wasn't gonna settle for that after having decided to get the perfect keyboard and mouse combo. So my third choice was the MX1000, which uses a laser instead of optics, promising more precise movements. I've had it for about a month and not even once have I had any issues with jerky movements, so I guess it's true what they say. The mouse is also very comfortable and have a lot of buttons, that's all fairly easy to reach (unlike the MX900). Also there aren't any problem with blinking and annoying lights, which really plagues the MX900. And so the MX1000 ended up being my choice for a mouse.

Technical issues: Keyboard

There are no official Mac drivers for the diNovo keyboards, which causes a number of problems. You can plug in the USB dongle and connect the keyboard and it will mostly work without any problems. All the standard keys work as they're supposed to and the volume controls are working too. The shutdown key is also working, although it can't power up the Mac. I prefer using the button on the Mac Mini anyway, so it's not an issue to me. The five media buttons are not responding, and neither are the Home, Mail and Search buttons. Also the function buttons are only working as function buttons - not as quick keys when changing the function lock. Finally some might have issues with the USB dongle itself, since it's forced to be put into the left USB slot on the Mac Mini, making it hard to press the Connect-button. But since I've only had to press it once, it's not a real issue either.

Technical issues: Mouse

There are Logictech drivers for the MX1000, but I found it was creating more problems than it solved, so I'm not using it. The Mac Mini recognizes all buttons and movements anyways. The scroll wheel is working from scratch, and so is the step up/down-buttons and the back/forward-buttons in for instance Firefox. Mac OS X is however limited when it comes to multiple mouse buttons. Pretty much all you can use the buttons for is the Expose-features, which however works fine on all buttons. With recent updates of Mac OS X (10.4.3 as of writing) Apple has unfortunately created a new set of problems. First they took over mouse button 8 (step down on MX1000) and forced the Application Switcher unto it. Now they've taken over button 9 (back on MX1000) as well and forced Spotlight onto it. The second thing is really annoying as Back/Forward is actually a nice feature. The buttons original usage is still working, but with these new features tacked on that's not of much use.

Technical solutions: Keyboard

Update 2006-01-09

Apparently some people experience, that ControllerMate doesn't find all the input commands for the keyboard. I use version 3.4 of ControllerMate, while those experiencing problems seem to use 3.4.1. I haven't tried 3.4.1 myself, but if it dissolves the input options into Mouse and Keyboard, it might be worth looking for the input commands for the keyboard under the mouse. Apparently that's the way Logitech does it.


Update 2006-04-08

Another problem causing the input commands to not appear properly in ControllerMate is apparently the official Logitech driver itself! Whether or not you experience problems I advice you to uninstall the Logitech drivers etc. to not cause any inteferences in the way the USB signals are processed.


ControllerMate Most of the issues with the keyboard can be solved with a little work. The unresponding buttons (apart from the secondary functions of the function keys) can be assigned to anything you like with the excellent application ControllerMate. It's shareware, but you can assign up to ten commands for free, and you really only need eight to get your keyboard fully working. I'm not going to explain the program, but you simply pick an USB input command and assign an output command to it. It recognizes the Logitech USB dongle and hundreds of possible inputs for it. When you press the keys, the corresponding input command will light up in blue. The ones you're looking for are:

  • AC Home - Home button
  • AL Email Reader - Mail button
  • AC Search - Search button
  • AL Consumer Control Configuration - Media button
  • Stop - Stop button
  • Play/pause - Play/pause button
  • Scan Previous Track - Previous button
  • Scan Next Track - Next button

(the five media buttons on the numerical keyboard respond to the same inputs as the ones on the main keyboard)

After picking these inputs you can assign them to anything you like. I assigned mine as follows:

  • Home - Firefox (application)
  • Mail - Thunderbird (application)
  • Search - Spotlight (command+option+space)
  • Media - iTunes (application)

For the four play-buttons I made and assigned four small scripts to control iTunes. This works perfectly and gives me full control of iTunes from the keyboard without ever having to see the application. I have included the four scripts for download here:

Ukelele Another issue is the keyboard layout. Sure you can change to whatever standard language and keyboard layout you want, but unless you've lived on Apples all your life you'll probably have a couple of keys that are positioned just plain wrong. Using a Danish keyboard it is for instance extremely annoying that shift+4 results in a Euro-sign and not the dollar-sign it's always been on all other keyboards. Personally I also have issues with the standard brackets and @. The solution is Ukelele - a great and simple keyboard layout editor. It'll not recognize the diNovo layout, but close enough for you to change the keys you want to change. Save your newly edited keyboard layout and you can pick it in International (after a reboot). Now your keys are positioned just as they should.

However... Apple apparently doesn't want you to create your own keyboard layouts after all, as you'll experience two problems. First off you can't select your custom keyboard layout as the default. That means you'll have to select it every single time you boot your Mac. Annoying but do-able if your computer is turned on most of the time like mine. But there's another issue. With random intervals OS X decides to switch back to your default keyboard layout. For me it happened about 5-10 times a day, and I never noticed untill I'd written several lines of now bogus text. That's just too annoying.

The solution to this is to only enable your custom keyboard layout in International, and disable all others. The problem is that OS X (at least in 10.4) insists that you enable at least ONE original (ie. not custom) keyboard layout, and thus it's the same problem all over. Others have solved this by deleting the original keyboard layouts, which is probably a really bad idea, since login boxes and others default to those. The solution I've used is to replace an existing original keyboard layout with my custom keyboard layout. Those are placed in /System/Library/Keyboard Layouts/ as bundles. Most of these bundles consits of resource files, which doesn't seem very easy to edit. But others just include standard Keyboard Layout XML files as used by Ukelele. I decided to go with the Unicode.bundle, so right click on that and select Show Package Contents. In this package go to Contents/Resources/ and select whatever keylayout file you want to replace - I chose USExtended. Now make a copy of your chosen file and place it somewhere safe. Load the copy into Ukelele, chose Keyboard > Set Keyboard Name and Keyboard > Set Keybord ID from the menu and write both values down. Now load your custom keyboard layout and enter the same two values in the respective fields, before saving it (alternatively just edit the original keylayout file directly). Now go back to the package bundle, delete the file you want to replace and copy your new keyboard layout into the same folder - they should have the exact same filename. You'll probably need to authenticate yourself a couple of times to do this.

IconComposer Now International believes your custom keyboard layout is an original keyboard layout, and you can chose it as your only keyboard layout and the problem is fixed. But you might as well do a couple of finishing touches now you're messing with the system anyway ;) You could change the icon for your keyboard, so you don't have to look at an ugly colored flag in your menuline for example. The .icns files you probably noticed in the package next to the keyboard layouts are exactly these icons. You can change those as well. I just opened the icon with Icon Composer, exported the image, imported them into Photoshop/Gimp, drawed my new icon and imported it into Icon Composer again, before saving it. I did a little Logitech-icon for my keyboard, which can be downloaded here.

Xcode You might also want to change the name of the keyboard. To do this you can edit the language files which are placed in the same package. If you're running OS X in English you'd thus have to edit the infoPlist.string file from the English.lproj folder - if you're using another language just pick that. Open the file with Xcode and find the line for the keyboard you replaced. If you chose USExtended like me, it will be this line:

  • "US Extended" = "U.S. Extended";

Now just change the second part of the line to whatever you like. I changed mine to:

  • "US Extended" = "diNovo";

Once again you probably have to take a copy of the file, edit that and finally replace it. Depends on your permissions. Also I suggest you keep a backup of any file you're messing with.

Note: All those changes you do to system files won't just take effect by itself. You will need to restart the computer to see any changes, and you probably have to clear some system caches too. So what you should do, after having made the changes, is to run the program called Cocktail - it's shareware but useable without registration. Click on Caches, and select System under Options. Check all options and Close. Now check System under Choose caches and finally press Clean. It'll take a few seconds and all the old system caches are then deleted. Now restart the computer and all changes should have taken effect.

Technical solutions: Mouse

SteerMouse What I really wanted to do was to retake control over the two buttons that Apple currently has, as everything else works fine. USB Overdrive accomplishes this task, but it also trashes ControllerMate and the keyboard settings. The alternative is SteerMouse, which is also shareware ($20), but is useable for a couple of weeks in trial. It gives great control over every single button and function of the mouse, and lets you assign anything to anywhere you want. It just works. I've got two minor problems with the current version - the Application Switcher requires you to keep the button pressed down and the tilt wheel is treated a little too sensitive. But both of these issues are solved in the 3.1b6 version of SteerMouse, which the author of the application, the very nice and helpsome Yosh, kindly let me use. Thanks a bunch.

Conclusions

The diNovo Cordless keyboard and MX1000 mouse both work just by inserting the USB dongle. But if you want all the features out of them, you have to do some work, as Logitech apparently only want to support pc's and Apple only want to support themselves. And considering the price and quality of the hardware, you'll probably want them running smoothly. I certainly do. Is the keyboard and mouse worth the amount of work necessary for the above mentioned solutions? Absolutely. The mouse is great, and I already can't imagine living without the keyboard. Going back to a traditional keyboard I find it extremely cumbersome and painful to use. The diNovo is expensive and somewhat troublesome to get working on a Mac, but it's easily worth both. Evenmore so I believe Logitech and Apple should've solved these issues years ago.

Alternatives

Update 2006-07-26

Michael Evans has made his own diNovo-driver for OS X, which makes it possible to attach AppleScripts to all the media keys without use of ControllerMate or other products. It's free, it runs on Intel Macs and it works with the Bluetooth version of the diNovo. He also plans to do support for the display on the media pad, which would be really nice. Download and get more info on the driver at SourceForge.

Information

Written by Rune Keller 2005-11-29.
rune.keller(at)striber.dk
The text is copyrighted by me and so on and so on... I take no responsibility whatsoever, anything is at your own risk and so on and so on...