Open kriskate opened 3 years ago
What would be amazing - somehow read that Mission control is open, and then the mouse mode "switches" to having "scroll wheel navigate through spaces"; thus, you would be able to do the following:
Hey @kriskate, thanks for reaching out!
I think you'll be quite pleased to hear that the new Mac Mouse Fix 2 Beta allows you to switch spaces in super convenient ways. You can assign actions to holding a button, or using a button combination, or using a keyboard modifier when clicking the button, or even holding a button and then dragging your mouse (which is super cool imo), or any combination of these things and more.
You can't assign actions to holding a button and then scrolling, yet, but that's a good idea that I'll think about more.
Scrolling to switch spaces while Mission Control is open is a super cool idea, too, and I haven't come across it before. I'm not sure it's feasible to detect when Mission Control is open though, unfortunately. We'd probably have to use some 'private APIs' or hack the system in even deeper ways to get that information. I'll look into that more when I have time, though.
Thanks for your contribution!
Sound great! I'll also look into detectiong if mission control is open and maybe do a PR (after I learn how to build a macos app) when I'll get to have some free time.
The contribution was small because I wasn't sure if I'll actually use the app, though I appreciate the effort; but V2 sounds hopeful 👍.
Cheers!
Cool! Don’t hesitate to ask if you have any questions about building apps or anything else :)
just installed the latest beta, and I like it 🥇
Awesome, glad you like it!
This is the first time I realise how unintuitive dragging the scroll-wheel button with your index finger feels. It seems a bit better when you hold the index and ring fingers on the left/right buttons, and the middle finger on the... well, middle button.
It's a thing I have to get used to, but I guess the name of the finger and the name of the button work in conjunction now :sweat_smile:.
Haha yeah, dragging the scroll-wheel button can be a little finicky, especially on certain mice.
I think my dream setup would be:
^ So we're using the two side buttons as 'Gesture Buttons' for Hold and Drag, and Hold and Scroll, because they are super comfortable for that, and only assigning Click / Hold actions to the Middle Button.
However, this setup is not yet possible in the app, because it doesn't have two-finger trackpad-swipe simulation, or Hold and Scroll gestures. I'd love to build those features though!
I was also thinking about making that setup or a similar one the default once I built those features, but I'm not sure. It's neat that it would do pretty much everything that an Apple Trackpad does in really nice and comfortable ways, but I'm also concerned it's too complex and far off from the norm so people will be put off or confused.
Yeah, it all sounds good and nice but I think the biggest point would be to get what the best all-rounder is and set that as the default, so it reaches more users that don't wanna spend time with configs.
I currently own a G502 and the possibilities are endless, but recently bought an Aerox 3, which btw is.so.nice., and I think this configuration (2 side buttons at most) is what most users would use your app for. For the G502 I didn't even bother with looking for how to replace the trackpad, as you have macros which you'd map to the keyboard shortcuts and easily achieve basically anything.
So, all in all, V2 would probably suit most user's needs, but I'd suggest leaving this issue open so that it will maybe get worked on. I don't know why apple doesn't have scrolling while mission control is open, to switch spaces, as a default. For me, it was the first thing I tried with the low-button-count mouse and an apple-settings configured cmd+right click for mission control.
Thanks for the input, this is all very interesting info.
You're probably right. Most people want to spend as little time as possible setting things up, and having a default config that makes sense for the largest amount of people is super nice and valuable. As you said a five button setup is probably what most people are using, so the default setup should be focused around that. Maybe I could also look into creating a different default setup for 3 button mice at some point. Because if you're using a 3 button mouse, I think it makes a ton of sense to have that be a gesture button, because it dramatically increases functionality, but if you have side buttons those are much nicer for hold and drag and especially hold and scroll.
I think most people who have a Logitech or other mouse with a driver, think just like you described with the G502. They are pretty happy with what it can do and probably won't spend time looking into alternative drivers. But I think the proposition of 'This makes your mouse do everything that an Apple Trackpad does, and it will do it really well' along with Mac Mouse Fix being free and simple and light-weight, could make it attractive even to those folks.
The idea with the scrolling to switch spaces is really super cool, but I think the click and drag is just as good, so I probably won't concentrate on that for now. Or would you still prefer the scrolling to switch spaces? If so - why?
As I mentioned the difficulty with building that feature would be determining whether mission control is open. There is no official API for that unfortunately.
If any one wants to look into that here are some place to get started:
Description
Navigating through spaces with, for example:
Note: I currently have Mission Control shown on "middle button hold"
Rationale
The idea behind this would be that you wouldn't interfere with the way the mouse actually works, so when using the current/ other mice on different systems there won't be any "getting-used-back-to-it time".
The need of back/forward buttons is paramount nowadays, when most of the computer usage is based on navigating through browsers, but I came across your app because it switches Spaces without having to touch the keyboard.
Additional info
Thanks for developing good software.