Successive Approximations

SteerMouse and the Logitech G604

SteerMouse and the Logitech G604

Steph and I are in the middle of the process of moving (big moving day is the day after tomorrow) and so it's been a long week of work, eat takeout, pack until bedtime. People talk about how you have more stuff than you think in your house when you go to pack, and for better or worse I will say that we have about as much stuff as I thought we would have, it just takes a long time to pack  it all.

But one bright spot this week has been SteerMouse adding support for the Logitech G604. I've been using G602 (which the G604 is the successor to) for a long time, at home and work. The main thing that is great about this mouse is the fact that where most mice have two or three side buttons, the G602 (and now, 604) has 8. And I use them constantly.

G604 in front, G602 in back. Pardon our dust.

Two of the buttons switch between next and previous tabs; this is useful in web browsers, Slack, and code editors, saving you moving your cursor up and clicking the adjacent tab. (Keyboard shortcut: ⌘+[/⌘+] .)

One of the buttons just closes the current tab. Again useful in all manner of situations, from web browsing to editing files. It's a bit like how the "back" button on Android solves 90% of problems. (Keyboard shortcut: ⌘+w .)

One of the buttons opens the Mission Control view in macOS, which shrinks all the open windows to fit on the screen at once, allowing you to quickly click on the one you want. Once you get used to it, this is very fast and intuitive, much more so than ⌘+Tabbing your way through your recent applications. In short, it wins because you don't have to remember how recently you used the app or what its icon looks like, you just remember what the window looked like and roughly where it was on your screen. I use this all the time. (Keyboard shortcut: ⌘+↑ .)

And then two of the buttons are the traditional web browser forward/back buttons. Also, most modern software development tools have started interpreting those two buttons as going forward and backward in the files code you've been editing. Since software development is often strongly non-linear ("What does this method do? Oh yeah, okay, now jump back to where it was used?") this is very handy. Again, I use this many times a day.

If the mouse only had 6 buttons that were usable, I would leave it set to those. But since this mouse has two more, I have them set to switch to the virtual desktops to the left and right. I don't use these terribly often, but given that the keyboard shortcut for doing this is hard to type with one-hand, when I do use it, it's nice to have it on the mouse. (It's also the default action for three-finger swipe to the left and right on macOS.) (Keyboard shortcut: ⌘+←/⌘+→ .)

And that's not it.

The most recent thing I found that now I can't live without is holding down a side mouse button to turn the scrollwheel from scrolling one line at a time to scrolling up and down a page at a time. Could I do this with my keyboard? Sure. Is it super quick and convenient to do it with one hand on my mouse? Definitely.

And all of this magic is powered by SteerMouse, a humble little utility that just lets you remap the function of your mouse on macOS. You can change how many lines the scrollwheel scrolls (while disabling scroll acceleration), change the speed at which your cursor moves when you move the mouse, and specify what each button should do when pressed. You can also program certain behaviors to only happen when you hold one button and press another (termed a "chord".)

You can have a base mapping for each button that works in any program, and then specify a different behavior for certain buttons in certain programs. I use this for the software IDEs that don't interpret forward/backward to mean moving forward and backward through the code. In those apps, when I press the button that would normally be forward, SteerMouse instead sends the key combination I've programmed to accomplish the same goal. So every app I use, everything just works, once I set up the config.

As it happens, this is nominally what the software provided by the device manufacturers is supposed to do. Logitech Gaming Software used to be a decent alternative for this kind of button remapping that worked on Windows as well as macOS. But their recent mice have switched to requiring a new app called Logitech G Hub that is just terrible. For example, you can have separate profiles per application, but there's no template functionality, so if you change one button you have to go and make the same change in every profile. Hopefully they scrap it and go back to LGS which was fine.

At any rate, you can imagine my excitement when I saw that Logitech was releasing an updated version of my mouse of choice, the G602. The new mouse is, on paper, almost identical with the same number and placement of buttons. But all the little features are just that much better. The buttons are easier to press and shaped differently to be easier to differentiate. The wireless dongle receiver gets better signal strength, or you can just use the mouse with Bluetooth and no dongle. The scroll wheel has a click switch to turn it into free scrolling mode.

Given that G602s are under $40, can I justify $100 for a new mouse that isn't that different on the merits? No. But I couldn't help getting one to try it out.

So, you can imagine, in turn, my disappointment in finding the G604 was basically unusable with my level of customization. SteerMouse didn't support it since it had just come out. Logitech Gaming Software (the good one) isn't being updated with support for new devices. And the Logitech G Hub software is just an unusable mess. So after a few days of trying to make it work, I had to go back to the G602 to get stuff done and hope an update to SteerMouse would come and add support.

Well, this week, it did. I'm a total sucker for good industrial design, and the G604 just feels nice in the hand. The buttons click with just the right amount of force. It feels like a sleek extension of your hand, not some ungainly gamerish fashion object. The G604 is an iterative improvement, keeping everything that worked from the 602, and making it feel polished.

So, it's been a long few days of work, but now that all my familiar shortcuts and macros are working again. Just when everything else in the house is being turned upside down, it's nice to have one spot of things just going my way in the midst of it.

My desk at work

Ben Berry

I don't have comments on my posts, but if you want to reach me, email me at my first name at