Coder Social home page Coder Social logo

linearmouse / linearmouse Goto Github PK

View Code? Open in Web Editor NEW
3.3K 15.0 52.0 4.56 MB

The mouse and trackpad utility for Mac.

Home Page: https://linearmouse.app

License: MIT License

Swift 74.00% Makefile 0.31% C 23.40% Smarty 0.01% Shell 0.79% Objective-C 1.49%
mac macos mouse scrolling utility acceleration productivity sensitivity cursor

linearmouse's Introduction

GitHub release (latest SemVer) Downloads MIT License Crowdin

The mouse and trackpad utility for Mac.

Get started

Please visit https://linearmouse.app.

Contribute

Please read the contributing guide before making a pull request.

Help translate

Please sign up for Crowdin and join our Crowdin project to translate LinearMouse into supported languages. It is recommended to sign in Crowdin using GitHub, so that I can add you as a co-author when I merge the pull request.

If you want to add a new language, please create a new issue and I will be happy to enable that language for you to translate.

I'm not a native English speaker, so if you find any English localization issues, feel free to correct me by creating a pull request.

Sponsors

Please visit https://go.linearmouse.app/donate.

Credits

  • Mac Mouse Fix - The way to modify the pointer speed (sensitivity) is inspired by Mac Mouse Fix.

linearmouse's People

Contributors

aerulion avatar aramann avatar bdesemb avatar congyiwu avatar jomyy avatar linearmousebot avatar lujjjh avatar paseri3739 avatar rakleed avatar virb3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

linearmouse's Issues

Universal back + forth breaks mouse clicks in IntelliJ

I have an interesting issue I was able to temporarily resolve, but wanted to bring to your attention @lujjjh

When using intelliJ (Java development IDE) I was losing the ability to right or left click on anything within the window. At first it was seemingly random, but after lots of trial and error I came to the conclusion that it was after I had enabled "universal back and forth" from your latest update and had used either of my back/forth mouse buttons within intelliJ. The only solution to get clicks working again was restart my system completely, until eventually I turned off the universal back/forth feature and restarted which completely solved the problem.

I reproduced the issue across two systems. One was a 14" Macbook Pro M1 Max on macOS Monterey and the other was an Intel i9 9900k hackintosh running Big Sur.

I was doing some research into this and found a post in the intelliJ forums that may be of interest to you:
https://youtrack.jetbrains.com/issue/JBR-563#focus=Comments-27-3889722.0-0

Would love to see this fixed if possible -- not sure what the difference in functionality is, but BetterTouchTool seems to handle universal back/forth pretty well, I'm using that in the meantime. To accomplish it in BetterTouchTool, I have Mouse Button 3 bound to "3 Finger Swipe Left (Page Back)" and Mouse Button 4 bound to "3 Finger Swipe Right (Page Forward)".

Launch at login

Currently, users have to manually add LinearMouse to "System Preferences -> Users & Groups -> Login Items" if they want to launch LinearMouse at login automatically.

A "Launch at login" menu item would be helpful.

Side key to swipe window?

Want a option to use side key as 3-finger swipe gesture/control + left(right)arrow.
If possible, add more feature about side key (like open mission control, etc.)
thanks.

希望大佬能让鼠标侧键有切换桌面的选项。代替control+左右方向键。
前进返回用的少,但是切桌面是真的多啊。
还有如果可能的话,给侧键加点其他手势,比如长按侧键开启mission control之类的。
望采纳。

[Feature Request] restore default settings on exit

When quitting LinearMouse, the default MacOS mouse settings aren't restored. I have to go into settings -> mouse and set the tracking speed to get the default speed and acceleration back.

This would be useful when only using LinearMouse for some apps, like games for example.

Different scroll step in different apps

Thanks for the app, but I'm experiencing a variable scroll step size in different apps. I'm using the default 3 lines per scroll and it works just fine in the most apps, except that in Chromium-based apps (Chrome/VSCode) the step is 6, while in XCode and IDEA the step is 1.5

In some cases it has different step in the same app. Scrolling the code in XCode is 1.5 for me, but scrolling project files in XCode is 3. I have no idea why it acts like this.

I've also compared it with MOS and it produces the fixed 3 lines per scroll in all the named apps. On the other hand, it use 6 lines step in other apps, like Terminal. Also, it feels like it uses something like 3.2-3.5 step.

PS: I did restart the mac after installing the app. I'm running mac 11.5.2 and LinearMouse 0.2.7

Optimized for M1?

Great application! Really good job on all the features and simplicity. Keep up the good work.

Is LinearMouse optimized for M1? :)

Launch on boot

Rebooting MacOs causes LinearMouse to be not launched again. Currently, I always have to manually relaunch the app.
Can this option be added to the LinearMouse settings?

sensitivity 5-1800

Which sensitivity is the default. Please add a stepped default line on where it is the default system sensitivity at which it is equivalent to defaults write -g com.apple.mouse.scaling -1, otherwise I don't have a use for this application.

[Feature Request] smooth scrolling

Hello!

A friend of mine (who no longer uses GitHub) asked me to pass on one of his wishes:

Hello!

Thank you for LinearMouse, I can't live without it.

There's a feature "missing" though: smooth scrolling. A lot of people, including myself, install an app dedicated to this for their third-party mice. I currently use MOS combined with LinearMouse, but it would be great to have everything at the same place.

And for the people finding it weird, no, smooth scrolling doesn't conflict with LinearMouse purpose, it's even complementary imho :)

Thank you for taking it into consideration, keep up the good work!

Thank you!

Optionally apply features to the trackpad too

LinearMouse works great for mice but, with the introduction of Apple silicon, it is no longer possible to get a usable trackpad either.

CursorSense have found a way of disabling acceleration (and even modifying acceleration curves) for trackpads too (without intrusive methods such as system extensions to my knowledge) so there must be a way for linearmouse to do the same.

Other options like modifier buttons, fixed-width scroll etc. might also be useful.

Context: #46

After user switching the settings are not re-applied

I use multiple users on my mac. I use setting 1950 on all accounts. When i switch between users, sometimes mouse settings are oversensitive until i open the Preferences, set sensitivity to 1951 and then back to 1950, then the mouse is working OK again.

That problem is only on one of my accounts. Perhaps the preferences could be force-applied after user is switched into the account.

Thanks!

p.s. thanks for amazing software, have a coffee on me!

Slider for Scrolling Speed modifier is laggy

This slider is very helpful but it's laggy to use. I'm guessing this is because it's displaying a very large amount of tick marks. Maybe just make it non-discrete and have any value be acceptable? Additionally, this feature would be even more helpful to me if it was possible to set the value to less than 0.1. I use this for fine control over side scrolling which I sometimes want to do in a precise way and having this be even smaller, like 0.03 for example would be very nice. Thanks for the great app!
Screenshot 2022-01-30 at 18 52 23

Scroll Modifier

I would love the ability to hold a modifier key, e.g. shift, and be able to scroll at a faster rate. This is great for viewing content that's formatted small or if you want to quickly reach the top of the page.

Set mouse sensitivity

A nice feature would be if it were possible to also set the mouse sensitivity from LinearMouse preferences, ideally beyond the range provided in System Preferences.

For some context, I had previously used the SteerMouse free trial and it had the ability to set both mouse sensitivity and acceleration values (i.e. acceleration was on a range too) independently. I personally don't care for supporting acceleration besides on/off, but I think setting linear mouse sensitivity would be a great add here!

I'd also like to commend this project; glad there's a FOSS alternative to all this paid software for what should (in my opinion) be a default feature in MacOS! Great stuff!

Horizontal scrolling isn't reversed.

For instance, as my finger swipes left on my Magic Mouse, the text goes left as well, which seems isn't working as expected. Could you fix this, or add an option to reverse the horizontal scrolling? Thank a lot!

custom Acceleration curve

So you can see a curve and you can just edit the curve for prefect customization
just a thought tho

like imagine a 2d wavetable synth were you can edit the curve directly

Mid-session unplug/replug events sometimes cause LinearMouse to not work properly.

Hey lujjjh,

first of all I'd like to thank you for the great work you've been doing with LinearMouse, it has been a treat so far.

During a session LinearMouse starts working fine after sign-on. When I unplug and later replug my mouse (I use a USB-switch to use the same mouse between computers, effectively constituting a plug-cycle as far as I can tell), LinearMouse will sometimes not function properly and won't apply the set preferences. Plug-cycling the mouse again sometimes brings function back. When it works, it keeps working without intermittent failure, only plug-cycling triggers it.

I've found that when plug-cycling and NOT touching the mouse for a few seconds until I'm sure the device switch is completed, LinearMouse again tends to work more often than not. When moving the mouse during a plug-cycle, LinearMouse seems to work less often coming back. Might just be my imagination, though.

Linear scroll up ≠ down

Scrolling down works like a charm, but scrolling up works only for a faster turning speed of the wheel.

3 finger swipe to swap between desktops reverses constantly with new update

With new update when I use the 3 finger swipe to switch between desktops the direction seems to keep going back and forth between natural and un natural seemingly at random whenever I open new apps / go full screen on apps. Regular scrolling up and down on mouse and track pad seem to be fine. Was working fine before update.

Reverse scrolling not working after sleep or replug

Since 0.5.0 or 0.5.1 (don't know exactly, upgraded from 0.4.3 to 0.5.1 directly), mouse scrolling isn't reversed after waking from sleep. I have to manually disable and re-enable reversed scrolling in order to apply the setting again. This can be reproduced by unplugging and replugging the mouse too. Scrolling is then back to normal until I disable and re-enable reverse scrolling again.

Modifier Key for toggling cursor acceleration / sensitivity?

It would be nice if we have this feature since I switch between my trackpad and mouse quite frequently.

It would be even better if we can implement event-based profile switching. That is, whenever we plug in our mouse, we perform certain actions specified by the user and notify the user via notification regarding the switch(es).

Disable annoying auto update?

First off, thanks a lot for this great tool.
It works beautifully, and there in lies the issue.

Please could you stop nagging me with update pop ups every few days?
The tool is fine. It disable mouse acceleration. I don't want it to update.

What I want is to work on my stuff without constant interruptions.
The nag screen is way out of proportions for a mouse acceleration tool, and there's no 'stop asking' option.

Could you please make this optional, and/or share the update url for a block in hosts file?

THANK YOU

I just wanted to say thank you so much for this amazing repo and app. This seemingly simple request is insanely hard to pull off well in OSX.

Option not use Universal back and forth with a list of apps, or to pass through the original back and forth buttons as well

Hey there!

Awesome that this exists, I was frustrated with my external mouse when I first got my mac a few months ago and this is very very nice software with all the features you really need :D
On to my feature request and why one would want/need that:

Issue:

I'm using the current version from Homebrew

Back and forth works great now with LinearMouse everywhere so far other than one place:
Remote-ing into my Windows PC via Parsec.

Parsec used to pass on the hardware side button clicks directly to my windows pc (but my mac obviously didn't know what to do with them), but as LinearMouse now converts those to swipe gestures nothing happens anymore (on my remote windows machine)

Fix / Feature Request:

This could be fixed by Parsec by implementing swipes on their mac client to send side button clicks, or by LinearMouse by:

  1. not deleting the hardware side button click event when converting to swipes
    or
  2. adding a blacklisting (and whitelisting) feature per application for all sorts of features

not sure if 1. could lead to problems if other software actually handles the mouse side buttons as well as swipe gestures - either triggering the same action twice, or triggering two different actions.
But this could be the much easier fix to my problem (if it's possible) and similar ones with other apps that actually handle the side buttons in macos (I don't know any though, maybe games?).

option 2. could be useful for other cases as well, like setting mouse acceleration per application (again, could be useful for games).

Translating app into other languages

Could you please provide the community with the ability to translate the app into other languages?

P.S. I can help with translation into Russian.

[Feature Request] Per-app settings

Hi there! I feel like it'd be great if it also provides per-app settings, or even apple script definitions to programmatically edit the settings on the fly. Still, this is a great app! Thanks :D

Slow trackpad scrolling while running LinearMouse

Thanks for the wonderful app in the first place, it finally replaced SteerMouse for me. But I just noticed some weird behavior while using my trackpad after a long time of only using my mouse. The scrolling speed is severely slowed down while scrolling slowly. This happens while all options in LinearMouse are disabled but is back to normal as soon as I quit LinearMouse so it has to be related.

Is it just me or can someone else confirm this behavior? Running macOS Monterey 12.0.1 on a 14" MacBook Pro.

Edit: This seems to be caused by the most recent release introducing sensitivity/acceleration settings. I cannot reproduce this on 0.2.8.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.