Support for Logitech MX Master Mice

So I updated to 6.0.14, set up the Reverse Scroll Direction trigger and enabled only Reverse Vertical, and so far it works exactly the way I want. However, any Reverse Horizontal toggle does nothing for me, so it’s more or less a coincidence that it’s currently behaving the way I like. :slightly_smiling_face:

By the way, I had no idea this trigger even existed, I kept looking for it among the actions. Every day I discover something new in BTT.

That made me wonder: is BTT also able to detect the battery status of connected mice and keyboards? It would be useful for a notification letting me know it’s time to recharge them.

Just wanted to add a +1 on this, having the exact same issues with my MX Ergo. I would love to ditch LogiOptions+ so hoping these can be worked around on this model

@erishun the G502 X Plus including various LED modes is now supported in 6.015 (alpha)

1 Like

I hope the precision mode button on the MX Ergo is now also remappable in 6.016 alpha!

1 Like

LED lighting with G502 X Plus is confirmed working in 6.016 alpha!! :partying_face: :partying_face:

thank you!

1 Like

Hi @Andreas_Hegenberg, I use the horizontal (side-mounted) scroll wheel on my MX Master 4 to zoom in/out in design apps like Figma, Illustrator, Photoshop, etc. In Options+ it’s flawless (as long as the app doesn’t fail), but I’m not quite sure how to implement this in BTT. I tried mapping a “scroll right” trigger to the “Smooth Zoom by X (In or Out)” under the mimic standard gestures category but all I get is a very choppy jump to a fixed zoom level, and even if I fine tune the amount it only moves by that value with each wheel movement, regardless of how far the wheel is scrolled.

Is there a good way to have zooming be responsive and dynamic based on how far the wheel is scrolled? Similar to how it works with a trackpad?

@atomic.blonde I'll adapt the smooth zooming & rotating to work properly with the logitech mice next week!

1 Like

Looks like in the last version 6.016 on MX Master 4, I can’t trigger button 6 anymore, anyone else having the same issue? All of the rest of the buttons seem to work

Same for me. Had to go back to 6.009 version. Works perfect!

ah thanks, I'll upload a fixed alpha later!

6.017 alpha should fix the MX Master 4 issue. Also it adds two new scroll modifiers:

1.) Smooth Zoom
2.) Smooth Rotate

You can also make these only active while holding some modifier keys. This allows you to use your scroll wheel for zooming or rotating like on a Macbook Trackpad:

There are currently a lot of settings because I'm not yet sure what would be the best default settings. They seem to work pretty well here though.

Thank you for 6.017. Thumb button now works fine.

Another issue has occured. Thumb wheel does not work in Finder even if I designated gesture in BTT to go Forward and Backward. No problems with this in other apps. Does anybody have the problem mentioned? Any ideas?

which action are you using for finder to go forward / backward?

Better use the predefined action "3F Swipe Left (Page Back)" and "3F Swipe Right (Page Forward)". These internally generate macOS native navigation swipe events that work in browsers and many apps (also finder)

Yeah! It works now.

Is there any way to add a predefined action using two fingers? I want to use it in Safari to go backward and forward, not from tab to tab.

I'm not sure I understand, What do you mean by two fingers?

I mean "2F Swipe Left (Page Back)" and "2F Swipe Right (Page Forward)" to navigate backward and forward within a tab in Safari.

Ah I see. Unfortunately these can not easily be generated programatically.
However you can achieve the same using the predefined action "trigger menubar menu item" with this config: "Window;Show Previous Tab" and "Window;Show Next Tab" (this action allows you to trigger any menubar menu item)

With BTT 6.021 you can query the Battery State via BTT's Java Script. Here is an example that gets the battery state and saves it to variable "mxmaster_battery":

async function getLogitechBattery() {
    const result = await logitech_get_battery_status({ deviceName: "MX Master" });
    await set_number_variable({variableName: "mxmaster_battery", to: result.level});
    return result;
}

You can then use that variable however you like, for example this preset shows a HUD with the battery state when pressing ctrl+opt+cmd+D:
logitech_battery.bttpreset (3.7 KB)

You could also have a time based trigger that checks e.g. once per hour and uses an if condition to check whether the battery is below a specific percentage - and only then shows the HUD.