82

I recently bought a Logitech M560 mouse.

It works fine on my Mac, but I wonder if there's a software/prefpane (free or paid) I can use to map the additional buttons I have on my mouse (i.e. to open dashboard, select line, etc...)

Logitech at the moment offers no support for Mac for this model (I was aware of this when I bought the mouse)

enter image description here

Without any configuration the bottom side button works as "Add bookmark" in Chrome, so I think I can do something for this...

napolux
  • 1,254
  • I can't add an answer, but the correct answer is to install Logitech Control Centre. I did this with my M510 and my back and forward buttons work now. I didn't even have to configure anything. Here is where to get it. No need to purchase any apps. – Delorean Oct 13 '17 at 20:57
  • 3
    For newer devices (e.g. M510), as of July 2019, the correct software to install is called "Logitech Options". I tried the Control Center software and it immediately told me that my device was not supported. – Dylan Nissley Jul 16 '19 at 19:41

8 Answers8

53

Thanks to the previous answers, I have successfully used BetterTouchTool to map three different buttons:

  • Usign "Normal Mice" tab:
    • Button 3 (Wheel Left)
    • Button 4 (Wheel right)
  • Usign "Keyboard" tab:
    • cmd + D (Back), which I assigned to "Middle click".

Two buttons remain unmappable (Forward and Middle click), but it is better than nothing. Hope that it will fit to your needs.

  • For the other buttons use the Key Sequence option to record a series of keys, these buttons actually do execute unique sequences of presses that you can map. – RenaissanceProgrammer Oct 25 '17 at 17:45
45

If you're interested in using the side buttons for navigation, I made an open-source menu bar utility called SensibleSideButtons that solves this problem. Instead of binding the side buttons to keyboard shortcuts like most of the other programs mentioned here, mine instead binds them to virtual left and right swipe gestures. This approach offers several benefits: almost universal adoption across the OS (including Xcode), avoidance of destructive behavior, no menu bar blink or annoying noises, commands only sent to the specific window under your cursor.

(This assumes that your side buttons emit standard M4 and M5 events.)

Archagon
  • 1,006
  • 7
    Tried it. Easy setup (nothing to configure), and back/forward worked on Chrome/Finder/XCode as expected. Thank you. – Damn Vegetables Oct 09 '17 at 11:55
  • 1
    That's the most useful tool from all. It just works out of the box! – Evgeniya Manolova Oct 09 '17 at 21:59
  • 1
    Awesome tool. Works great inside a VMware macOS 10.12 guest. – Sébastien Dec 06 '17 at 09:26
  • Will SensibleSideButtons work when the logitech control panel is installed? I installed it but doesn't make any difference for the side buttons of my M560. – m000 Feb 07 '18 at 15:16
  • Not sure, sorry — the only requirement is that the mouse emit standard M4 and M5 commands. I think some Logitech mice might have keyboard or system shortcuts hardcoded to the buttons. – Archagon Feb 07 '18 at 20:17
  • 1
    It did not work out of the box for me, since I was also using USBOverdrive. I had to delete buttons 4 and 5 from my USBOverdrive profiles before it worked. – Andreas Jan 12 '19 at 23:39
  • Could you please provide a 32bit build for 10.6 ? Ideally a single build supporting both 32bit and 64bit on 10.6+ since this will support all OSX versions. I have not been successful in compiling so far. – reukiodo Apr 09 '19 at 00:50
22

I've used Steermouse in the past with excellent results.

nohillside
  • 100,768
sdmeyers
  • 2,349
  • 14
  • 13
17

I made Mac Mouse Fix.

It lets you remap your Side Buttons to Windows-style Back and Forward (just like Sensible Side Buttons - in fact, I copied their code) or to Switching Spaces. It also features a refined Smooth-Scrolling algorithm, which I think strikes a great balance between fluidity and control, and more.

Mac Mouse Fix is very light on system resources and it's a System Preferences Plugin so there's no status bar item. I tried to make it as clutter-free as possible.

On top of that, it's 100% free, it doesn't sell your data or anything, it's lightweight, easy-to-use, and fully open source.

I really hope that you'll find Mac Mouse Fix useful!

Download | Github

Noah Nuebling
  • 922
  • 9
  • 9
12

I have used USB Overdrive

The USB Overdrive is a device driver for Mac OS X that handles any USB mouse / trackball / joystick / gamepad / media keyboard and any Bluetooth mouse from any manufacturer and lets you configure them either globally or on a per-application, per-device basis. Note that the Apple Magic Mouse and Magic Trackpad are not handled by the USB Overdrive to let Mac OS X implement its full multitouch support.

Worked really well .

markhunte
  • 12,242
11

BetterTouchTool

BetterTouchTool will allow you to map mouse buttons to keyboard shortcuts or predefined actions. Simply click in the area with the button that you want to map, select a modifier key if you wish, then choose a keyboard shortcut or predefined action to map.

grg
  • 201,078
7

According to an answer on a similar question, it's possible to use a program called Karabiner to detect the Logitec Windows-specific keyboard events sent by the M560, and translate them to regular keyboard or mouse button events that tools such as BetterTouchTool can pick up on.

Please see the original answer on the duplicate question for full details, including a Karabiner configuration file for the M560.

  • Unfortunately for MacOS Sierra (10.12) onwards Karabiner Elements doesn't currently provide for mouse/pointing device support - See my answer below on Hammerspoon as an alternative. – Pierz Oct 30 '17 at 10:40
1

Hammerspoon is another free open source versatile tool that may be used to map the keys on the mouse to different functions - with many other options/plugins (known as 'Spoons') available. You'll need to install the tool and supply it with some appropriate config - see examples here for mouse remapping. Here is an example config that remaps the Logitech Marble mouse right mini-button(4) to as a Middle click(2):

hs.eventtap.new({4,25,26},
    function(e)
        local pressedMouseButton = e:getProperty(hs.eventtap.event.properties['mouseEventButtonNumber'])
        if pressedMouseButton == 4 then
           mousepos = hs.mouse.getAbsolutePosition()
           hs.eventtap.event.newMouseEvent(e:getType(),mousepos):setProperty(hs.eventtap.event.properties.mouseEventButtonNumber, 2):post()
        end
    end
):start() 
Pierz
  • 3,647