noah-nuebling / mac-mouse-fix

Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad!
https://macmousefix.com/
Other
5.44k stars 153 forks source link

Cursor temporarily becomes undetectable to system when holding mouse button controlled by Mac Mouse Fix [bug] #141

Open Hexagonl opened 3 years ago

Hexagonl commented 3 years ago

Description

When you click a button that is being controlled by Mac Mouse Fix and move the mouse around, the cursor visually moves around, but the system is not able to detect this movement. When the button is let go, then the system is able to figure out where the cursor is. This creates the problem of the system not knowing where the mouse cursor is hovering over. In most cases, this isn't really a problem. However, in situations such as navigating a 3d environment directly using the mouse (e.g. Minecraft), this can cause such navigation to be abruptly halted, which is a serious inconvenience.

Steps to reproduce

  1. Add a button (in this case, mouse button 4) using the "Click" action

    Step 1
  2. Bind it to something (in this case, as a keyboard shortcut to "Space" – this will make it easier to see the problem.)

    Step 2
  3. Hover over a menu that changes when you move your mouse (one example is hovering over the applications in the Dock and seeing the applications' name appear over it.)

https://user-images.githubusercontent.com/61996651/125869920-9ae9646f-a429-4b1c-9f04-e6d0ea88f53c.mov

  1. Hold the button you just bound (mouse button 4)
  2. Move your mouse around the menu. It will not change accordingly (in this case, the applications' name will not appear over the correct app.)

https://user-images.githubusercontent.com/61996651/125869931-5a81f159-78eb-49f3-8207-bba10ddaaf07.mov

Context

Mac Mouse Fix Version: 2.0.0 Beta 12 macOS Version: 10.15.7 Mouse Model: Glorious Model O Wired

Additional Comments

I think the problem has something to do with the software attempting to check for the "Click and Drag" action despite not being defined.

The problem also isn't as bad with the middle button for some reason. I'd reproduce this bug with button 4 or 5 if your mouse has one.

noah-nuebling commented 3 years ago

Hey there @Hexagonl, thanks for your detailed feedback.

I think the issue is probably due the macOS mouse driver sending "mouseDragged events" when you move the mouse while you hold down a button instead of "mouseMoved events", which are sent when you move the mouse without holding down a button.

When a button is captured by Mac Mouse Fix, it will block other apps and the system from receiving mouseDown and mouseUp events from that button when you click it, but it's not able to translate mouseDragged events to mouseMoved events when you click and drag that button.

Such a translation would be possible would would come with some issues and caveats which I won't go into detail about here. Also it might be a lot of work and I don't know if that work would be worth it. I think this isn't really a usability issue for most users.

I'd be really glad if you could provide a more detailed description of the problems you had in Minecraft due to this!

Do you think simply disabling all the button remaps from MMF when using Minecraft would be an adequate solution to your issue as well?

Hexagonl commented 3 years ago

I believe I have somewhat similar problems to #145. In Minecraft, I am unable to move my character's view whenever I hold either of the mouse buttons on the side of the mouse (which I had bound to a certain keyboard key, a common use for them in the Minecraft community as it allows players to access hotbar slots without reaching over the keyboard or scrolling.)

The main reason I got Mac Mouse Fix was to use this feature, as USB Overdrive causes a whole plethora of other problems and I am unable to pay for SteerMouse (of which I have already used my free trial). This means that disabling the button remaps from Mouse Mac Fix wouldn't solve my problem in Minecraft. I'll be honest, I mainly got the software for Minecraft. Personally, I believe a lot of Mac "Minecrafters" like me will also find this software and use it specifically for this reason, so the userbase of Mac Mouse Fix in the future may include a bunch of gamers... for this, I apologize for.

Off topic, lately I've also faced the problem of all of my mouse acceleration software not working well (excluding USB Overdrive, which as I mentioned above is a nightmare to work with, and the pay-to-use Steermouse), so I would love #14 ;)

noah-nuebling commented 3 years ago

Oh that's interesting, that's a use case I had never considered. Thanks for offering your perspective!

I'll definitely keep this in mind, but please don't expect anything soon.

Same goes for #14. I actually finally figured out how to change pointer sensitivity and acceleration. But to polish that and turn it into a usable and reliable feature is going to take a lot of work, and I have so many other things planned for MMF that I want to do first.

The main reason I got Mac Mouse Fix was to use this feature ...

So are you saying that your issue doesn't occur with USBOverdrive and SteerMouse? That would be very interesting as it would suggest that my hypothesis about why it happens might be wrong or that there are really good workarounds which they use.

Hexagonl commented 3 years ago

Since I couldn't pay for SteerMouse after using it for a few weeks, I decided to look for other free alternatives. I found USB Overdrive, but it faces problems such as the mice buttons suddenly not being detected (making me have to replug my mouse), as well as an automatic auto-clicker that turns on when you don't want it. All software I found that remapped the side buttons work, but Mac Mouse Fix is the only one that's free and doesn't face other problems besides the one described in this issue.

I'll definitely keep this in mind, but please don't expect anything soon.

The side button use case is really just a handy gimmick, I can live without it.

So are you saying that your issue doesn't occur with USBOverdrive and SteerMouse? That would be very interesting as it would suggest that my hypothesis about why it happens might be wrong or that there are really good workarounds which they use.

Besides the paywall for SteerMouse and bugs involving the default mice button on USBOverdrive, yes, the button mapping and mouse acceleration features work flawlessly.

I respect the time and effort you put into making Mac Mouse Fix, I would definitely donate if I could. Thank you for providing people with this really useful software!

noah-nuebling commented 3 years ago

Thanks again for your input. That’s a really interesting lead that SteerMouse behaves differently here. I’m sure I’ll learn a lot looking into this difference.

I’m glad you like Mac Mouse Fix! :) You really don’t have to donate though, it’s just a cute thing.