Mini review :
So a few weeks ago I went and dropped $160 on a Logitech MX Air mouse. I’ve been justifying this fairly outrageous price by telling myself it would be a worthwhile addition to my desktop rig, which is looking more and more like a media centre every day. Sure, it actually is a worthwhile addition, but mostly I think it’s more to do with me being a tragic Logitech fanboy (I’ve already got a Logitech wireless keyboard and mouse combo at home, another one at work, and a set of X-540 surround speakers with which I torment my neighbours on a regular basis).
Turns out gyroscopic mice are a lot of fun to use. On the desk it works fine, but the odd shape takes a little getting used to. Probably the worst thing about it is the lack of a middle button. The scroll wheel has been replaced with a touch-sensitive pad, with buttons at the top and bottom that simply scroll. But it’s a mouse that was really designed to be picked up and waved around. Holding it in the air is very comfortable.
Things that work :
There doesn’t seem to be a lot of people using these mice in Linux yet. All I’ve been able to find to date is a couple of reviewers who plugged it in for five minutes and noticed “basic pointing functions” working. Whatever that means.
I was pleasantly surprised, though, with how well this thing works with Linux. Basic movement and scrolling works both on the desk and in the air — the scroll pad accelerates a lot faster than a wheel will, and I’m loving it.
The mouse also has four custom buttons: two labelled “BACK” and “SEL”, a play/pause button and a volume button. Out of the box, SEL is mapped to button 1 (for selecting stuff while it’s in the air), and the other two generate sensible keycodes and work out of the box in Ubuntu (VOL mutes and unmutes the volume). The mouse also has a few built-in gestures; holding the volume button and waving the mouse up and down changes the volume, while holding play and waving it in small circles will skip to the previous and next tracks. Again, the controller sends back sensible keycodes for these, and I didn’t have to do anything at all to make these work in Ubuntu.
Things I’ve fixed:
To make the BACK button usable takes a little bit of work. Out of the box it seems to be detected as button 2, but it’s too far out of the way to be terribly usable as a middle button. Ubuntu (and probably most other distributions) use a default mouse type of ImPS/2, but the MX seems to fare a little better with the newer ExplorerPS/2 driver. Additionally, not all of the buttons seem to be detected correctly, so manually setting them helps. My mouse device currently looks like:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "Buttons" "20"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
I first tried setting the buttons to 16 (after playing around with a USB packet sniffer, see below). On startup X would poll the mouse, which reported it had 20 buttons. So that’s what I set it to. Now xev registers a BACK button press as button 8, and I can’t wait to think of something useful to do with it.
Things I haven’t fixed:
The one thing that’s eluded me so far is detecting when the mouse is being used in the air. The bundled Windows software does this, changing the pointer to a sexier, larger one that can easily be seen from the couch. I’ve been using the trial version of USB Monitor to sniff traffic, mostly because none of the freely available tools were able to decode it enough for poor plebs like me who haven’t read the HID spec. But it was enough to figure out that the mouse seems to be setting button 13 on while it’s in the air.
Back in Linux, xev violently disagrees. It doesn’t give up any sign of any button events that I’ve seen yet. I’m guessing it’s an option that the Windows driver is turning on, but haven’t yet looked at any of the traffic that goes on when the device is plugged in.
Trying using the evdev driver to see if it picks up the button when you hold it in the air. The evtest program (http://game-sat.com/~brian/Howtos/evtest.c) is also handy for testing this out, like xev for the event subsystem
Reply
peter reply on December 12th, 2007:
Googling around for information showed that a lot of people are using the evdev system for other MX mice, so it’s something that I wanted to look in to and try out some time soon.
And thanks for the pointer to evtest. I’ll look at that tonight.
Reply
Nice post. The air mouse looks beautiful and in some ways seemed to be the a fantastic solution to my home pc setup.
However, without buying it, there was no way to test it in Linux, so the assumption is automatically, ‘don’t go there’, especially with the hefty price tag.
Let us know how it turns out, it could be a decisive factor to whether a lot of Linux users go out and buy one.
You said ‘On the desk it works fine, but the odd shape takes a little getting used to’. How odd is the shape? Any idea whehter my 12-year old daughter be able to use it? Or will she just find it frustrating and throw it to the side?
Also, I suppose the only thing about the middle button is that I use it to open links in tabs. Can you tap on the pad in the middle and perhaps map it to do it the same?
Cool stuff,
Alex
Reply
peter reply on December 12th, 2007:
Thanks, glad you liked it. :-)
As far as the shape goes, have a look at one in profile some time. It’s a lower mouse than any of the others I’ve used, and tapers down sharply to a very very narrow front. Unless your daughter’s got hands the size of dinner plates I doubt she’d have a problem.
For middle buttons, yeah I use mine a lot in firefox, as well as pasting text. For as long as I can remember X-Windows has had an option to emulate a middle-click by pressing the left and right buttons simultaneously. It’s the “Emulate3Buttons” option you can see in my mouse config, and I’m fairly sure modern distributions set on by default. So again, not a huge problem, it’s just something I miss a little.
The only real thing to look out for if you thinking of buying one, is what you plan on using it for. I’ve looked at both MythTV and Freevo for a PVR solution, and they’re both designed to use full-fledged remote controls for navigation. Neither currently works with a mouse.
Reply
I currently have and am using the MX-Air in ubuntu ultimate 1.6 [aka gutsy with a bunch of preinstalled apps] and would like to say thank you, for being the first person ever like me who likes and am using this mouse in linux. so far your progress is better then nothing, but alas, since people say “150 for a mouse!? pfft!”, it is not owned by developters, and probly will not be to popular with X.Org. is there any more progress in setting it up? try taking it p to the ubuntu forums as a reccomendation for hardy haron or something. also, all i can seem to use is the back adn sel butons, and volume buttons. in UUE1.6/gutsy gibbon, the play/pause/next/prev. functions dont work…
Reply
One very neat feature is this: the air mouse always knows which way is up, no matter how you hold it. So, for example, you can hold it in your right hand, rotated 90 degrees to the right (thumb uppermost), and the mouse still knows that up is up.
When using it, I find that it’s easier to use the thumb on all buttons, otherwise, when you click, you accidentally move the pointer too.
Reply
Hi all,
any news on this one?
Maybe someone should write it into the ubuntu WIKI? xD
Greets
Dark
Reply
I was wondering, is there a way you can assign a shortcut, lets say zoom or Ctrl+Alt , at the middle or any button? That would be perfect.…
Reply
peter reply on May 1st, 2008:
Pretty much all of the button generate standard events, so just configuring shortcuts and things for them is a solved problem. You want to be looking at something like btnx for that ( http://www.ollisalonen.com/btnx/ ).
What I’m trying to work out is how to tweak the Logitech-specific stuff.
Reply
take a Look at this.. http://www.hidpoint.com. Seems they have done all the Job. Just download and use it
Reply
Tony reply on June 14th, 2008:
Cool !!! I got my MX Air working on Ubuntu 8. Thanks Jamesoswan.
Reply
Nice post! I have been using my MX Air with Fedora and Windows Vista for a while now, and not being especially expert in Linux, I’ve been a little sorry that Logitech haven’t released a Linux version of SetPoint. Reading this post, though, it seems that its operation shouldn’t be too hard to manipulate, which is encouraging!
… because there are a couple of things I have changed in Windows that I would like to be able to change in Fedora. In fact, the most important thing for me would be turning the “wheel” inertia off! For me anyway, the tiniest of movements appears to result in an uncontrollably fast scroll, often as far as the bottom or top of the page I’m on! I immediately disabled this inertia in Windows, and would like to be able to do the same in Linux, where (if anything) it is far more sensitive. Not good for people like me with little/no dexterity to speak of!
I would also like to be able to change the operation of the second button, SEL, to emulate a double-click as I have done in Windows. I’m pretty lazy, I know — but I’ve managed to persuade quite a few people in the past that after a few minutes of using a button to emulate a double-click, you’ll wonder how you ever had the energy to actually click twice!
So, I’d like to be able to make those 2 changes, but don’t really know where to begin. If anyone has any ideas, please let me know! TIA :)
Reply