Macbook M1 and MX Master 3 — Setting buttons without LogiOptions

Jonhnatha Trigueiro
5 min readJul 15, 2021

A nice mouse, as well as a nice monitor, are good tools for productivity improvement. In order to leverage the user experience, this piece of hardware is being served with a companion app. But what can we do if our companion app fails on a new arch? I will try to show how you can make it work without the Logi Options. (or Logitech Options).

Source: https://cdn.mos.cms.futurecdn.net/KmVUTGRLkDywKE7p2oiSH8.jpg; Note: I couldn't find the original site that has this original picture.

Disclaimer

Essentially this article will be outdated soon since it would be just a matter of time for "Logitech Options" being fully supported on Mac M1 architecture. (As known as "Apple Silicon"). I'm offering an alternative way to get this working without a need of Logitech options.

Also I'm not being sponsored by Logitech. I just like their piece of hardware. It's pretty neat and I've being used for so long on my dev life.

Source: https://nosnerds.com.br/logitech-mx-master-3-novidade-no-brasil/ (in Brazilian Portuguese)

The current status at this time, in a nutshell

Macbook M1 have a disruptive architecture. That implies that Intel code must be "translated" to the new arch via Rosetta 2. That explains why Logitech Options isn't working fine yet.

https://support.logi.com/hc/en-gb/community/posts/1500000547962-Logitech-Options-fix-for-Apple-M1-Silicon-Macs

Also there is a website called "Is Apple Silicon Ready" with useful information about working software on Apple Silicon enabled Macs.

https://isapplesiliconready.com

Viewed on Thu, 15 Jul 2021 (reference: https://isapplesiliconready.com/app/Logitech%20Options)

Solution

In order to solve this puzzle at the moment I found a possible solution via Karabiner Elements. According it's site, Karabiner Elements is…

A powerful and stable keyboard customizer for macOS.

I found this tool by using my Keycron K2 on my Mac. Since I would like to remap caps lock as an alternative ESC, according it's own site, it has an option to remap via 3rd party app. (I've plans to create an article talking about this)

https://keychronsupport.zendesk.com/hc/en-us/articles/360044588073-How-to-remap-reprogrammable-reassign-keys-

So, that's the funny part. How can I handle mouse buttons through a Keyboard tool? Actually this mouse has an input interface that acts like a keyboard. That's the trick. =)

Understanding the mouse buttons

Here is the button schema for MX Master 3;

Structure of mouse buttons: https://4gnews.pt/logitech-mx-master-3-o-regresso-do-melhor-rato-para-produtividade/ (in Portuguese)

My mapping plan

On a first glance, I'm interested on mapping only the Gesture button (without the gesture itself, just the button click), and Back and forward ones; After some back and forth finding out the right button scheme I realized that the following structure for my mouse is described as below:

  • Gesture Button ( acts like a Left command ) — I'm willing to remap in order to Open the Mission Control;
  • Forward Button ( Button 5 )— I'm willing to remap to the right virtual desktop/fullscreen app;
  • Back button ( Button 4 ) —I'm willing to remap to the left virtual desktop/fullscreen app;

Going to Karabiner You will see the following screen; (supposing that you have it installed successfully)

Misc screen with information on Karabiner Elements app; also showing icon of the Karabiner Elements on the toolbar with the options

Adding support for "mission control" on the Gesture Button

Going to simple modifications tab, select the mouse. Now click on "Add Item" and provide the following configuration as below;

Map left command to mission control on MX Master 3 Logitech, under Simple Modifications tab;

Now you should be able to click your gesture button and have your mission control showing up. :) (test it if you done it already)

In addition to that you could map other buttons to simple remaps as well.

Mapping to next and previous desktop / full screen app

Now I plan to map the back and forward buttons to a complex combination. There is my idea:

  • after clicking button5 I will to remap to the following combination: "control + right arrow" (try it on your mac right now; You going to move to the desktop right of the viewed desktop)
  • after clicking button4 I would like to remap to: "control + left arrow" the same way as the point above, but with opposite side.

Actually after some hacking, I found that the Karabiner elements maintains a configuration file at the following location:

$HOME/.config/karabiner/karabiner.json

Here I'm sharing my own configuration (with caps lock as a supplementary ESC, that I downloaded from online resources); Look at line 44~67 for the first objective, and from line 68~91 for the second one.

I'm sharing the whole content so you can understand where to cherry pick on the right places; also feel free to copy and paste the whole content as well:

Backup first your karabiner.json, update this file and restart Karabiner Elements. You should be ready to go.

Information on complex modifications tab being shown

Final Considerations

For more information about other complex modifications I strongly recommend that you take a look at the Karabiner Events Complex Modifications webpage: https://ke-complex-modifications.pqrs.org/

I have plans to add this modification into the Modifications webpage as soon as I have some free time; If you already have this done, please let me know that I can append to this guide here. =)

Be safe, wear masks (even if you get vaccinated), keep social distancing and thank you!

--

--