Hi, I'm the developer of an old mouse gestures app called xGestures. It allows adding the kind of mouse gestures pioneered by the classic Opera browser and rocker gestures anywhere in macOS.
I made the app in my spare time back in 2004 after switching from Windows to mac. I had become accustomed to using StrokeIt in Windows and found that I couldn't live without system-wide mouse gestures any longer. And while for the most part I'm not actively developing xGestures any longer, I continue to maintain it to keep it running on modern versions of macOS, because as far as I'm aware, it's still the only app that allows for this style of mouse gestures, and I still can't live without them.
To be specific, this style of mouse gestures work in the following way:
- A specific button on the mouse (or perhaps a key on the keyboard) is designated as a gesture button. Typically this is the right mouse button.
- The user presses and holds the modifier button
- They move the mouse in a combination of movements, each of which is one of the four cardinal directions (so only left, up, right and down).
- They release the gesture button
Then depending on the combination of movements, a certain action is performed. It doesn't matter how long each of these movements are, or what kind of image they make on the screen. All that matters is the order of discrete directions performed. So a "left right" gesture is distinct from "right left", "left", or "left right left right" even though they produce the same horizontal line on screen.
The gesture button is still usable as normal for clicking, too. Pressing and releasing the button without performing any movement will still produce a click, though the down and up events for the button would be delayed until after the button is released.
xGestures also recognizes rocker gestures, which is when the user presses and holds down the left mouse button, and then clicks the right button, or vise versa. (This was also in the original Opera web browser.) xGestures only allows this with the left or right mouse buttons, but some other implementations of rocker gestures allow any combination of two mouse buttons.
Currently BetterTouchTool doesn't have a feature for these. Its drawing feature, from my experience, is intended for a different kind of mouse gesture that's focused on recognizing specific shapes.
Of course there's nothing wrong with that style of gesture and it satisfies a different use case, but the advantage of Opera / xGestures' style of gestures is that detection is very accurate and consistent. I almost never have issues with mouse gestures being misdetected.
I'll keep maintaining xGestures as long as I can and is necessary, but over the years I've thought about rewriting it from scratch. (A lot of poorly written code from back in 2004 is still in there!) I haven't done so, though, because a lot of the features I might add to such an app would basically be recreating functionality that's in BetterTouchTool.
I'd love it if BetterTouchTool added this style of mouse gestures. At that point I think I'd be okay with letting xGestures fade away into the annals of software history.
So to make this feature request more discrete and specific amid the above ramblings, I'm hoping that BetterTouchTool might eventually have these specific features:
- The ability to define a different kind of mouse gesture that's a combination of only left, right, up and down movements
Allowing the use of the right mouse button without modifier keys for drawing a gesture Clicking a gesture button, whether it's the right mouse button or otherwise, would still produce a (deferred) click when the button is clicked without performing a gesture
- Allow for rocker gestures, where the user presses and holds one mouse button and then clicks another
(edit: Just realized that two of those features are already in BTT!)
These sorts of mouse gestures are certainly niche and somewhat anachronistic in the age of trackpads and the Magic Mouse, but xGestures still has a very dedicated user base (which includes myself) of people who can't live without mouse gestures like these.
(Quick aside, Andreas: we've had a few email correspondences over the last several years, one of which was about adding this style of mouse gestures to BTT. But I figured I'd make a public and more official posting here and possibly inspire discussion.)