Skip to content

MX Master 3 Forward/Back Mouse Buttons Don't Work For Switching Workspaces While Logi Options+ is Installed #7274

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
5 tasks done
612aidan opened this issue Apr 3, 2025 · 9 comments · Fixed by #7672
Closed
5 tasks done
Labels
Bug component: workspaces Related to workspaces feature of Zen platform: macOS

Comments

@612aidan
Copy link

612aidan commented Apr 3, 2025

Captchas

  • I have read the instructions.
  • I have searched existing issues and avoided creating duplicates.
  • I am not filing an enhancement request.
  • I have checked that this issue cannot be reproduced on Mozilla Firefox.
  • I have checked that this issue can be reproduced once I removed all my Mods and Custom CSS.

What happened?

I use the MX Master 3 mouse, and the forward and back buttons do not work for switching workspaces while Logi Options+ is installed. I found issue #4554, which was closed. However, it does not seem that that issue was completely related, as even the most recent comment still mentions that Logi Options+ is still causing issues. So, I thought I would open a new issue to get further clarification, as this is really messing with my workflow. Plus, I cannot uninstall Logi Options+, as that would make my mouse unusable for what I need. Thanks!

Just for some clarification:

  • MX Master 3 buttons work fine if Logi Options+ is uninstalled, it's just when it's installed
  • Having Logi Options+ installed does not prevent the issue on other mice. I tried my Logitech G502, and it worked fine. It's only my MX Master 3 (and probably other mice that run through Logi Options+) that have the issue
  • zen.workspaces.scroll-modifier-key is currently set to control, but this does not work with this mouse either. Works fine with my G502.

If there's anything else I can provide, please let me know!

Version

1.11b

What platform are you seeing the problem on?

macOS - aarch64

What component is this issue related to?

Workspaces

Relevant log output if applicable

@diegodsg
Copy link

diegodsg commented Apr 4, 2025

Using better-mouse instead logitech malware fixed this for me, you can also add the same gesture controls as in logi options (switching desktops, mission control, etc)

@wizzardich
Copy link

One workaround is to switch in Logi Options+ the behaviour of the thumb wheel. You can set it at "Switch between pages" in the "Other actions" list. For me this keeps both the horizontal scrolling functionality and makes Zen understand the workspace switches.

I'd rather not do it, but at least it's workable for now.

@612aidan
Copy link
Author

612aidan commented Apr 4, 2025

Using better-mouse instead logitech malware fixed this for me, you can also add the same gesture controls as in logi options (switching desktops, mission control, etc)

I am giving this a try; thanks for the suggestion! It's working well so far; the only problem is that I don't see an option to adjust the zoom in and out sensitivity like I can in Logi Options+, so that's throwing me off since I use that feature quite a bit. But I'll continue using this for now to see if I can get used to it. Still hoping that Logi Options+ gets compatibility, though

@612aidan
Copy link
Author

612aidan commented Apr 4, 2025

One workaround is to switch in Logi Options+ the behaviour of the thumb wheel. You can set it at "Switch between pages" in the "Other actions" list. For me this keeps both the horizontal scrolling functionality and makes Zen understand the workspace switches.

I'd rather not do it, but at least it's workable for now.

I was using this before but I just couldn't get used to it haha. I'm now trying out better-mouse as per @diegodsg's suggestion.

But I will say had that not worked for me, I don't think I would have been able to make the switch from Arc, so glad that there is at least some kind of workaround for Logi Options+ users, even if it's not the best currently

@Nihad74
Copy link

Nihad74 commented Apr 4, 2025

I am using my thumb mouse wheel to switch workspaces.

@diegodsg
Copy link

diegodsg commented Apr 4, 2025

Using better-mouse instead logitech malware fixed this for me, you can also add the same gesture controls as in logi options (switching desktops, mission control, etc)

I am giving this a try; thanks for the suggestion! It's working well so far; the only problem is that I don't see an option to adjust the zoom in and out sensitivity like I can in Logi Options+, so that's throwing me off since I use that feature quite a bit. But I'll continue using this for now to see if I can get used to it. Still hoping that Logi Options+ gets compatibility, though

It took me a bit to get used to it too. I wonder if there’s a way we could help figure out how BetterMouse captures the side buttons and gestures—maybe if we can intercept the events triggered by the Logi software, we could come up with a proper solution for this issue. If Arc devs could figure this out I bet we can too 🦾

So far I tried with Karabiner event viewer but the side buttons won't log any event when logi options is running...

@mathieutu
Copy link
Contributor

mathieutu commented Apr 15, 2025

Same with an MX Vertical (which does not have a side wheel, so no workaround).

Also, same issue with BetterMouse, when the buttons are remapped to "Swipe Back" and "Swipe Forward" (which I think should be also the cause in Logi+).

And even with the trackpad, compared to Arc, the scroll between workspaces ask for way more movements, so maybe it's the way it's originally implemented that is an issue (no via back/forward gestures, but via scroll):

Screen.Recording.2025-04-16.at.13.57.56.mov

@mathieutu
Copy link
Contributor

mathieutu commented Apr 16, 2025

This should be handled around:

attachGestureHandlers(element) {
element.addEventListener('MozSwipeGestureMayStart', this._handleSwipeMayStart.bind(this), true);
element.addEventListener('MozSwipeGestureStart', this._handleSwipeStart.bind(this), true);
element.addEventListener('MozSwipeGestureUpdate', this._handleSwipeUpdate.bind(this), true);
// Use MozSwipeGesture instead of MozSwipeGestureEnd because MozSwipeGestureEnd is fired after animation ends,
// while MozSwipeGesture is fired immediately after swipe ends.
element.addEventListener('MozSwipeGesture', this._handleSwipeEnd.bind(this), true);
}

I'll try to setup the project locally to debug what happens with our mouses, and open a PR.

EDIT: Posting my findings here in live:

  • Before enabling Logi+ or BetterMouse, the events are AppCommand (Back and Forward) events, handled by
    _handleAppCommand(event) {
    if (!this.workspaceEnabled || !this._hoveringSidebar) {
    return;
    }
    const direction = this.naturalScroll ? -1 : 1;
    // event is forward or back
    switch (event.command) {
    case 'Forward':
    this.changeWorkspaceShortcut(1 * direction);
    event.stopImmediatePropagation();
    event.preventDefault();
    break;
    case 'Back':
    this.changeWorkspaceShortcut(-1 * direction);
    event.stopImmediatePropagation();
    event.preventDefault();
    break;
    }
    }
  • After enabling them, the raised event is a MozSwipeGesture, but that is not happening after a MozSwipeGestureStart, so the handler doesn't handle it.

mathieutu added a commit to mathieutu/zen-browser that referenced this issue Apr 17, 2025
mathieutu added a commit to mathieutu/zen-browser that referenced this issue Apr 17, 2025
@mathieutu
Copy link
Contributor

I pushed a PR.
Don't hesitate to comment and 👍!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug component: workspaces Related to workspaces feature of Zen platform: macOS
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

6 participants