Skip to content
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

Feature Request: Start Mode / Click then Quit #9

Open
spencertiedge opened this issue Nov 6, 2024 · 9 comments
Open

Feature Request: Start Mode / Click then Quit #9

spencertiedge opened this issue Nov 6, 2024 · 9 comments

Comments

@spencertiedge
Copy link

Hi there!

Want to start by offering my gratitude to you for your development of mousemaster — it works incredibly well and is exactly what I was looking for.

I've run into a bit of an issue that has then spurred a feature request: when mousemaster is running, it seems to disable touchpad acceleration and take over control of touchpad settings (such that mouse movement via touchpad is quite slow and renders it unusable, which I understand goes against the point of this app, but in my use case, is necessary).

My ideal solution therefore is:

  1. Use AutoHotKey to run the .exe when a given shortcut is pressed [done]
  2. Have mousemaster.exe open in 'normal-mode' instead of 'idle-mode'
  3. Switch q / p / . to quit mousemaster, instead of just disabling it

In that case, the only time the touchpad has an issue is when mousemaster is truly active, which is fine, because I'll be navigating via keyboard.

Would be happy to donate to further development and show my appreciation.

Thanks much!

@petoncle
Copy link
Owner

petoncle commented Nov 6, 2024

Hello!

Thanks for the kind words.
I actually never noticed it but I think this issue happens as well on my laptop although it is barely noticeable. The problem could be amplified the slower your computer/CPU is, and I can see how this has the potential of becoming very annoying.
The problem must come from the logic that runs every time the mouse moves. I'd like to see if we can optimize it to get rid of this problem. A quick look at the code tells me that we could avoid running most of that logic when mousemaster is in idle-mode (or, more specifically, when the indicator -- the red square -- is not being displayed).

Could you tell me more about your setup (what sort of CPU do you have, how many screens)? If you look at mousemaster.exe in the task manager, what's the CPU and memory usage like?

Could you also try this if you have the time? In the configuration file (I'll assume that you're using neo-mousekeys.properties), change this line:

normal-mode.indicator.enabled=true

to:

normal-mode.indicator.enabled=false

Then restart mousemaster. This would disable the indicator (red square) completely, it may speed up the code that runs when the mouse is moved. This is not meant to be a permanent solution, but just a test to see if my suspicion is correct. Let me know if that changes anything, or not.

Thank you for reporting this issue, I hope we can find a way to fix it that wouldn't require you to manually stop and restart mousemaster!

@spencertiedge
Copy link
Author

Thanks for the quick response!

I'm running an Intel Core Ultra 5 135U with 32GB of RAM. The issue happens both with an external / second display attached as well as without.

When in idle mode, memory usage spikes around 50 MB, and CPU usage idles at 0.1% and maxes out at 1.5%ish. When turning off the indicator, the issue unfortunately still persists.

I actually wouldn't terribly mind stopping and restarting as needed — as that allows my OCD brain to keep the taskbar as empty as possible :)

Thanks!

@petoncle
Copy link
Owner

petoncle commented Nov 6, 2024

When you use the touchpad and it is slow, there is no CPU spike in the task manager?

@spencertiedge
Copy link
Author

Nope, barely any at all! It moves from maybe 0.1% to 0.3%ish

@petoncle
Copy link
Owner

petoncle commented Nov 6, 2024

Coming back to your AHK workaround, for step 3. would it be possible to use AHK to kill the mousemaster.exe process?
And to start in normal-mode, you can try this:

  1. Remove these lines:
idle-mode.to.normal-mode=_{leftctrl} +e
normal-mode.to.idle-mode=+exit | -clickthendisable | _{leftctrl} +e
grid-mode.to.idle-mode=+exit
hint1-mode.to.idle-mode=+exit
hint2-1-mode.to.idle-mode=+exit
hint2-2-mode.to.idle-mode=+exit
screen-selection-mode.to.idle-mode=+exit
  1. Do a search and replace to change every occurrences of normal-mode to idle-mode (91 occurrences).

This moves all the features of normal-mode into idle-mode (there is no normal-mode anymore, it's all in idle-mode).
Here are those changes applied to the original neo-mousekeys.properties file: neo-mousekeys.zip

@spencertiedge
Copy link
Author

That seems to be working exactly as I'd hoped, and haven't run into any issues after a little bit of testing! Thanks so much for your help!

@petoncle
Copy link
Owner

petoncle commented Nov 6, 2024

Good to hear! 👍
I still do wonder what causes this problem with your touchpad though. Have you tried any other mouse tools, like mouseable or warpd? If you have, did you experience the same problem with the touchpad?

@spencertiedge
Copy link
Author

I can't say that I have — I recently made the switch from Mac back to windows and yours was the first I came across as a potential replacement for Homerow!

@petoncle
Copy link
Owner

Hi @spencertiedge, I just want to say that the lag issue may be fixed in the last version. Two users who had the same problem said that the lag did not happen anymore in version 59.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants