16

I have a mouse that I bought from eBay and has two buttons on the side. For some reason, these keys don't do anything. In the modifier keys section of the keyboard settings, it called the mouse "SiliconWin mouse", I changed all the keys to command and no command worked. I thought these keys served no purpose but I later found if I pressed an application in the dock with the key, it would do the same thing as a right-click. Again I checked and tried to use the keys as right-clicks but did not work. Is it possible to change the functionality of the key?

P.S. I tried setting keyboard up and it asked me to press the button to the right of shift, I pressed everything and did not work.

If I search up SiliconWin, it comes up with Windows driver and no mac drivers.

2
  • 1
    As long as the buttons are being recognized (scan codes being sent), you can remap them to anything. I do this with complex actions through some software called ControllerMate. It's not free, but it's relatively inexpensive and worth every penny.
    – Allan
    Commented Aug 12, 2018 at 13:05
  • For anyone seeing this in the future: the answer is buried, but your best best would be Karabiner Elements.
    – Oion Akif
    Commented May 30, 2020 at 4:08

4 Answers 4

3

You have found an unfortunate fact of life living in the Mac world, a lot of hardware is Windows only. Yeah you can plug it in but without the correct drivers you will be lucky to get even minimal use out of the device.

If your SiliconWin mouse is not working out of the box with your Mac and there are not drivers provided by the manufacturer then there is little you can do in macOS to properly configure the device.

There is a "Universal USB device Driver" that has been available on the Mac for a long time, USB Overdrive.

Though I have never used it myself I have seen lots of discussions that point to that as a solution to exactly the problem you have. It's not free, a license will cost you $20. I imagine you could download it and give it a try and see if it allows you to do what you need to do. But at twenty bucks it costs as much (or more) as a cheap mouse so the economics of the situation may not be in your favor.

1
  • 5
    There's also SteerMouse which is significantly simpler to set up. I tried USB Overdrive recently; took one look at it & went straight back to SteerMouse, which I've been using for probably a decade.
    – Tetsujin
    Commented Aug 9, 2018 at 15:27
24

I made Mac Mouse Fix.

It lets you remap your side buttons to back and forward among many other cool features that make your mouse better.

On top of that it's open source, lightweight, easy to use and 100% free.

Download | GitHub


Update

I've made some changes to the pricing model:

  • Mac Mouse Fix 2
    Remains 100% free, and I plan to keep supporting it.
    Download
  • The latest version of Mac Mouse Fix
    Free for 30 days, costs a few dollars to own.
    Download

Thanks for your support - enjoy the app!

Mac Mouse Fix 3 UI Screenshot of Mac Mouse Fix version 3 ^

6
  • 2
    Absolute legend. Works like a charm!
    – oldsea
    Commented Oct 17, 2020 at 23:12
  • 2
    Works like a charm! Does everything I need it to. @Noah, Thanks a bunch for all your hard work on this.
    – Krejko
    Commented Jan 14, 2021 at 20:20
  • Works like a charm and it's easy to set up! Thanks Commented Apr 6, 2021 at 11:40
  • You cannot imagine how many times I had written a form and before submitting it I accidentally clicked the side button and made the browser go to previous page and lose the entire content of the form !! You are an angel Commented Dec 2, 2021 at 10:13
  • NOICE! been looking for awhile for something that can make use my side mouse 4 and mouse 5 buttons on a mac, besides them being only useful for throwing a lethal, or tactical on call of duty.
    – Danuofr
    Commented Jun 9, 2022 at 16:34
8

If you just want the side buttons to do back/forward in ANY app/environment, this app is the most basic, streamlined one I've found for this purpose on Mac OS X, and completely free (donate!). http://sensible-side-buttons.archagon.net/

This answer was copied from here: https://superuser.com/a/1230059/51328

1
  • Cannot agree more.
    – Bohao LI
    Commented Dec 26, 2020 at 20:39
8

There's also a free app called Karabiner Elements. It can be used for various mappings, including keyboard and mouse.
Get it from: https://pqrs.org/osx/karabiner/
I've been using it successfully since getting a mac.

With this you can add a "Complex Modification" from their site. I found one for back and forward functionality.
Make sure to tick the devices you want to use in the Preference pane of the app.

A manual config would look similar to the partial listing below. This would have to be integrated into the file karabiner.json in your ~/.config/karabiner folder.
In this example the buttons 4 and 5 are mapped to Cmd + [ and Cmd + ] respectively.

{
    "global": {
        "check_for_updates_on_startup": true,
        "show_in_menu_bar": true,
        "show_profile_name_in_menu_bar": false
    },
    "profiles": [
        {
            "complex_modifications": {
                "parameters": {
                    "basic.simultaneous_threshold_milliseconds": 50,
                    "basic.to_delayed_action_delay_milliseconds": 500,
                    "basic.to_if_alone_timeout_milliseconds": 1000,
                    "basic.to_if_held_down_threshold_milliseconds": 500
                },
                "rules": [
                    {
                        "description": "Change button4,5 to back,forward (rev 1)",
                        "manipulators": [
                            {
                                "conditions": [
                                    {
                                        "keyboard_types": [
                                            "ansi",
                                            "iso"
                                        ],
                                        "type": "keyboard_type_if"
                                    }
                                ],
                                "from": {
                                    "modifiers": {
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    },
                                    "pointing_button": "button4"
                                },
                                "to": [
                                    {
                                        "key_code": "open_bracket",
                                        "modifiers": "left_command"
                                    }
                                ],
                                "type": "basic"
                            },
                            {
                                "conditions": [
                                    {
                                        "keyboard_types": [
                                            "ansi",
                                            "iso"
                                        ],
                                        "type": "keyboard_type_if"
                                    }
                                ],
                                "from": {
                                    "modifiers": {
                                        "optional": [
                                            "caps_lock"
                                        ]
                                    },
                                    "pointing_button": "button5"
                                },
                                "to": [
                                    {
                                        "key_code": "close_bracket",
                                        "modifiers": "left_command"
                                    }
                                ],
                                "type": "basic"
                            }
                        ]
                    }
                ]
            },
            "devices": [<ommited>],
            "name": "your_profile_name",
            "selected": true,
            "virtual_hid_keyboard": {
                "country_code": 0
            }
        },
    ]
}
1
  • 2
    Karabiner is the best solution imho, because of its extensibility. I’d rather be able to custom configure all my input devices ’til the cows come home using one piece of software than have to hunt down individual third-party solutions for each customization. I’m sure the others work fine, but Karabiner will be there when they don’t. :) Commented Oct 18, 2020 at 6:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .