Logi Option+ style mouse gesture

First of all, thank you for adding Logi support!

I’d like to achieve sth like:

I understand this is already mostly possible: Logitech Mouse button+gestures - #3 by Aleksandr_Kurach

However, I can’t get the gestures triggered reliably, for me it only triggers 20% of time when hold mid button and move up/down/left/right. Is there anyway to optimize this?

for straight line gestures you can improve recognition reliability a lot if you name them up / down / left / right like this:

(this tells BTT to optimize the algorithm for straight lines, I will make this an explicit option at some point!)

Personally I'm using a floating menu like this that appears on button click, but drawing gestures are definitely a good option as well:

1 Like

I’d like to second this request! And add a similar interface/UX to LO+?

Let me say I love BTT and have used it for 10 years. I’m excited it may also be able to take over the duties for my MX4!

I’d love to have, say, gesture for the middle button trigger some things in browsers, others in Finder. Then have gestures using button 7 (the one below the wheel) trigger different things.

I’m finding it hard to implement this, which would be straightforward in LogiOptions+ (go to the screen the OP posted, select custom, done.).

When I currently do a “down gesture” in Chrome, I get a menu with 2 options: the “Show desktop” preset and the CMD+W I created. Even though it’s (1) different buttons and (2) different “scopes” (“For All Apps” for button 6; “Chrome” for the middle button).

It was also not very intuitive how to set this up, maybe I made a mistake? But it’s (kind of) working, just not as smoothly as it was with LO+.

If it’s confusing the way I described it above, let me try again: with LO+, I could go to the Gestures screen the OP posted, and configure each button 5 ways (click plus 4 directions). I could also do this for specific apps. In BTT I’m finding this customization (1) hard to find, (2) hard to setup, (3) behaves strangely.

Specifically, for example, my middle button was set up on LO+ as: click=middle click; hold+down=CMD+W; hold+up=CMD+T etc. Button 7 had general gestures to navigate windows and spaces. They never collided. With BTT, I imported the presets from https://docs.folivora.ai/docs/4000_logitech.html and I’m getting the behavior described above.

Am I doing something wrong or is what I want currently not supported?

PS: I went to double check the behavior and it changed?! Now instead of the menu, it’s always closing…even when I use button 6 or even the right-click button to do the gesture!

Next week there will be two new features that will make the standard setup easier:

1.) Some new action categories for mouse buttons:

  • click (this is what we currently have and will continue to allow further customization for short or long presses and down/up trigger)
  • press button & drag down (discrete)
  • press button & drag up (discrete)
  • press button & drag left (discrete)
  • press button & drag right (discrete)
  • press button & drag down (continuous)
  • press button & drag up (continuous)
  • press button & drag left (continuous)
  • press button & drag right (continuous)

These are independent of BTT's mouse gestures and specifically optimized for straight lines. Also they won't show any UI when dragging (for now). The discrete ones are for triggering standard actions like cmd+w, the continuous ones are if you want to do something like change volume by dragging a button up/down or zooming in / out.


2.) Drawing gestures will get a additional "scope" property and the "Start Record Drawing" action will be able to set the scope. This means custom drawing gestures with scope "button1" will only trigger if "Start Record Drawing" was called with scope "button1".

6 Likes

In a first step v6.023 alpha now adds scopes to the drawings:

The action categories will follow soon.

2 Likes

Thank you! Will test once “press button & drag” is released.

Btw the alpha release notes link in menubar menu seems pointing to a forum page last updated July 2025.

BTT 6.042 (uploading) adds the action categories mentioned above.

If you choose the continuous action category you can also assign the predefined actions "Start Smooth Zoom", "Start Smooth Scroll" or "Start Smooth Rotate" to zoom, scroll or rotate by dragging up/down.

Hi Andreas,

I see a weird behavior when playing around with the new "Actions Executed on Drag" functionality.

The Selection in the drop down "Actions Executed On Drag Up (Discrete)" seems not to be saved in the UI and therefore is not working (see video).

Am I doing something wrong? Tested with BTT 6.042

Ah I assume it might be related to triggers inside folders - probably the UI doesn't handle that correctly, I'll have a look!

1 Like

Ah I just watched your video:
The part of the UI resetting to the standard action category is fine - although it should probably not do that if there are no actions for standard click assigned. I'll improve this soon.

The issue is actually related to having a disabled button 7 in your setup. I'll fix that.

1 Like

Should now be resolved in 6.043!

1 Like

Yes it works as expected now - Thank you very much Andreas.

Found another clitch when setting up more actions to the same button.

I've set up:

  • Buton 7 + drag down = Application Expose
  • Button 7 + drag up = Mission Control

When I click Button 7 (even without draging up or down), it shows me the little popup to chose between both actions (see video).

You would not duplicate your button 7, instead just configure multiple action categories for the same button (one trigger supports multiple action sequences bound to different action categories)

Ah I see, that was a misunderstanding on my side. Thanks for pointing me into the right direction.

Coming closer to the expected behavior - I've set up:

  • Buton 7 + drag down = Application Expose
  • Button 7 + drag up = Mission Control
  • Button 7 + drag right = Move Left a Space (Without Animation)
  • Button 7 + drag left = Move Right a Space (Without Animation)

Button 7 + drag right leads to BTT getting quit and the other do not work really reliable.Tested with 6.044.

[
{
"BTTLastUpdatedAt" : 1768564242.676291,
"BTTTriggerType" : 1007,
"BTTTriggerTypeDescriptionReadOnly" : "Button 7",
"BTTTriggerParentUUID" : "FAA3E6D0-8F09-4505-A7EC-4EEE4D0813E9",
"BTTTriggerClass" : "BTTTriggerTypeNormalMouse",
"BTTUUID" : "20E81C3E-1A52-4123-A950-A5FCA7816AED",
"BTTOrder" : 0,
"BTTActionsToExecute" : [
{
"BTTActionCategory" : 24,
"BTTLastUpdatedAt" : 1768564237.1659632,
"BTTTriggerParentUUID" : "20E81C3E-1A52-4123-A950-A5FCA7816AED",
"BTTIsPureAction" : true,
"BTTTriggerClass" : "BTTTriggerTypeMagicMouse",
"BTTUUID" : "0C1BB4A7-556D-4B30-B071-157FFE755205",
"BTTPredefinedActionType" : 527,
"BTTPredefinedActionName" : "Move Left a Space (Without Animation)",
"BTTOrder" : 1
},
{
"BTTActionCategory" : 22,
"BTTLastUpdatedAt" : 1768564002.764523,
"BTTTriggerParentUUID" : "20E81C3E-1A52-4123-A950-A5FCA7816AED",
"BTTIsPureAction" : true,
"BTTTriggerClass" : "BTTTriggerTypeNormalMouse",
"BTTUUID" : "740244B8-5876-4F2B-A55C-93181E22FBA7",
"BTTPredefinedActionType" : 165,
"BTTPredefinedActionName" : "Mission Control & Immediately Show Desktop Preview",
"BTTOrder" : 43
},
{
"BTTActionCategory" : 21,
"BTTLastUpdatedAt" : 1768561231.326066,
"BTTTriggerParentUUID" : "20E81C3E-1A52-4123-A950-A5FCA7816AED",
"BTTIsPureAction" : true,
"BTTTriggerClass" : "BTTTriggerTypeNormalMouse",
"BTTUUID" : "360BF99A-3A87-4AA2-B0C1-B51CA35A63E2",
"BTTPredefinedActionType" : 6,
"BTTPredefinedActionName" : "Application Expose",
"BTTOrder" : 44
},
{
"BTTActionCategory" : 23,
"BTTLastUpdatedAt" : 1768564248.126986,
"BTTTriggerParentUUID" : "20E81C3E-1A52-4123-A950-A5FCA7816AED",
"BTTIsPureAction" : true,
"BTTTriggerClass" : "BTTTriggerTypeNormalMouse",
"BTTUUID" : "1306FF20-42AA-4FC2-945C-B6D59C5502C8",
"BTTPredefinedActionType" : 528,
"BTTPredefinedActionName" : "Move Right a Space (Without Animation)",
"BTTOrder" : 44
}
]
}
]

Ah thanks for the JSON, fixed in 6.047! (uploading now)

Sorry I'm currently having some trouble with my internet connection. 6.047 / 6.048 which should fix these issues will be online once I got this resolved!

//edit: now the upload succeeded

2 Likes

I can confirm that the problem is fixed with 6.048.. Thank you Andreas.

Updated to 6.051.

My Setup for Button 7:

  • Drag Up (Discrete) - a hot key (ctrl-opt-space which is configured in FlashSpace to open its switcher)
  • Drag Down (Discrete) - Mission Control
  • Drag Left (Discrete) - Move Left a Space
  • Drag Right (Discrete) - Move Left a Space

Overall they are quite usable and I uninstalled the bloated Logi Option+ completely. Thank you for the great work!!


If I can be picky, despite working as expected most of time, it seems hard to predict how much mouse needs to travel further to trigger the action again.

For example, when I drag right and left continuously, I'm expecting it starts switch between different spaces based on the direction of mouse movement until I release the button. However what's happening is sometimes it's move to one space after another as expected, but sometimes it's moving pass two or three spaces very fast even though the mouse just travelled very little.

Same thing happened to mission control (but somehow feeling less often or disruptive than the issue of moving thru spaces). When I drag down, it shows up. But occasionally I drag down the same distance, it shows up and then disappears very quickly, as if this action was triggered twice. Similar for the hot key, occasionally it’s just triggered twice for dragging same distance.

And on UI/UX:

  • it's a bit confusing that multiple triggers are grouped and hidden behind the dropdown, and it's hard to know which was configured vs not.
  • maybe it's just me, but it's easy to forget clicking Save button after change some action settings; also delete does not require Save which adds to the inconsistency.

There is no UI for this yet, but you can configure the re-trigger tresholds for the discrete drags (the continuous ones trigger on every pixel move):

Change re-trigger treshold (default is 150px):

osascript -e 'tell application "BetterTouchTool" to set_user_defaults key "BTTDragDiscreteRetriggerThreshold" numberValue 300'

Change initial re-trigger delay (default is 0.2s):

osascript -e 'tell application "BetterTouchTool" to set_user_defaults key "BTTDragDiscreteRetriggerInitialDelay" numberValue 0.3'

You usually don't need to press the save button, it always auto-saves when you switch to some other part of the UI. The save button is still necessary e.g. for textfields.

It's already on my TODO list to make the action categories more present / obvious, I'm currently sketching some concepts for that.

1 Like