Me: 1 – Logitech: 0 … hacking apart Logitech’s XML
Hello dear readers (all 1 or 2 of you that are left due to my lack of updates), I am alive! Contrary to popular belief, I did not fall down a ditch; never to come out. I am here, and have a brand new post. As for not updating very often, I apologize. You ever have one of those days when you wake up and have to go to work…then when you are done, you simply don’t want to do anything at all? Or a day that is just busy, and when you are done, you want to do nothing more than flop on the couch and try to beat a vegetable at lack of action? Yea…well, I’ve had one or two of those….or forty, in a row.
So, my faithful Microsoft Intellipoint 5 button mouse finally gave out. After months of hiccups, missed clicks and tracking errors…it finally bit the dust and became so unreliable that I had to give it the boot. I used the opportunity to finally go wireless, and minimize some of the clutter on my desk, minimize some wires, and extend the reach of the mouse. I settled on a Logitech MX Revolution. Rechargeable battery – check, wireless – check, many buttons – check.
The SetPoint software, however, left a bit to be desired. Before I go any further, let me explain to you my love of the middle mouse button (or third button). In Firefox, it opens links in a new tab, closes tabs, and activates the scrolling mechanism. In TF2, it was my reload button. Logitech, however, decided that the middle mouse button simply wasn’t important enough to be an available option for button mappings.
The MX Revolution is pretty cool. It has your normal right/left buttons, a 4 way wheel (which also can act as a button…more on that later), a button right below the scroll wheel, 2 buttons on the side by the thumb, and another toggle switch of sorts under those. The Revo also has the nice option of having a clutch for the scroll wheel, which allows for some super fast and super smooth scrolling, without the clicky clicks. This behavior can either be toggled by the scrolling speed, or by pressing the scroll wheel in (using it as a button, as stated earlier). In the Logitech software, you can set that mouse wheel to act as your middle button instead. This is all well and good, since I love my middle button, but the click action is very hard; it wasn’t made to act as a button that is pressed multiple times per minute. That being beside the point, I like having it as the option to switch between scrolling modes. This leaves the button right under it, which is actually in perfect position to act as the middle button. It’s in between the right and left buttons, easy to press in, and easy to reach. Perfect…let’s set that as the middle/3rd button in the Logitech software!
Oh wait…you can’t. What? Logitech, did you REALLY not allow that as an option? I mean…really? I can use it to search stuff, flip documents, auto scroll, invoke Winamp, be a double click, close stuff…pretty much any function you can think of EXCEPT middle button. I mean, a nutless monkey could have coded the software better to allow that as an option. Sure, you can install an alternate driver, but I don’t recommend it since it breaks other functionality (such as using the side toggle as win+tab in vista), and generally doesn’t work as well.
So Logitech: this means war! A war that I intend to win. And I did win. See, (ok folks, this is where it gets geeky, so be warned) Logitech stores all the button configurations in an XML file on your hard drive. In Vista, that file is stored in C:\users\YOUR USERNAME\AppData\Roaming\Logitech\SetPoint and is called user.xml .
If you open up that user.xml file, you will see that all the button configs are pretty straightforward XML format…all you have to do is replace the correct section with a correctly formatted, modified version. So…I made that little ‘search’ button my middle button by changing the button 6 configuration to the following: (No, I have no idea why it’s button number 6, but labeled as button number 4…it doesn’t make sense, it’s probably left over from some copy/paste I did when banging around the XML, but it works, so sue me)

(I’d like to have posted the text directly, but wordpress thought the XML was supposed to get parsed, even though it was in between code tags…oh well)
Voila! I now have a middle mouse button! So so nice.