Non Stick Mouse in corners of Windows 10

Use this application to disable or bypass the sticky corners in Windows 10 for dual displays or multiple monitors. What it does is hop the mouse over the sticking corners, as well as the screen edges when moving windows. Thus it allows the dragging of windows through screens without your mouse getting hijacked by the Snap Assist.

The Hot Corners and Snap Assist still work, but now only when you want them to.

Latest Version released on 15th of June, 2020.

Here is the actual application itself if you wish to save it directly and run it whenever you wish: –
Click to download Non-stick mouse
VirusTotal (2 out of 79)
CRC32: FCF41546
CRC64: 672CF71CCA25A80E
MD5: 941787243c32bf7a9fe5a2da23a5835e
SHA256: D16B4BBE30192E7D5D0D2D9BE94B845A92ECCE2E973E63975F5DA55FA5DDC092
SHA1: 8705456FF39F4E0044A8FBA68645AE76A0A33C00
BLAKE2sp: 7FCCE3B5C8956150B356782321D1059A94F9EEECABC0119700A38BB93835713A

I’ve been asked for an installer so it can run automatically on boot – so here it is, an installer: –
Click to download NSM setup
VirusTotal (2 false positives – Same stupid AVs that hit the app itself)
CRC32: 23505E1E
CRC64: 01889D7B3DE77A74
MD5: e917df8abe39293711bb1802067b0acf
SHA256: 4E40F24D7ED551572678BE2F77B0F02F04D2E09FE9F3AED442CBB295E3123874
SHA1: 4E40F24D7ED551572678BE2F77B0F02F04D2E09FE9F3AED442CBB295E3123874
BLAKE2sp: D79D5DA65BD2157CA19851866839F968CB20CE6176FB3EF323615FFAA7CC30B6

And for your peace of mind the full source code written in Delphi, 3 files on GitHub.

This application does not read or write to any drive, it does not access the registry or connect to the Internet.
I am only sharing this as I took the time to write it and I notice many people are annoyed by these Microsoft “features”.

It hides its window – so terminate it use the Task Manager. It is not designed to be overly clever, it does not have a notification tray icon.
If you want it to run on start up make a shortcut to where you have saved it in the start up folder, or use the installer!

If it is does not work at all please let me know and I will try to fix it when I have time.
It won’t fire when the active/topmost window belongs to a process which is running with privileges elevated higher than what NonStickMouse itself is running with.

In an effort to minimise misfires this take parameters of when to fire: –
“corners” – only fires when in a corner (thus dragging a window across screens will stick).
“lag” – a delay between firing the hop. The default is 500 milliseconds but that can be overwritten by putting a value after the word lag.

These parameters can be affected by being emedded in the filename itself, thus renaming “NonStickMouse.exe” to “NSM_Corners_Lag_200.exe” will activate both, with a delay of 200ms.  Use as required.

Subsequently I have also developed a debug version: –
(Consequently, due to the mindless stupidity of virus-scanners, of which I’m not even going to bother to try to counter, I took it off my site.  If you need this app to help diagnose your issue please let me know and I can make it available for you.)
This has a User Interface showing the screen dimensions and offsets of each monitor, the mouse tracking, and the values it was at when the last hop was fired. This application will also hop the mouse so for complete accuracy please terminate NonStickMouse.exe when using it.

You may choose to compile this yourself for your own sense of security – in which case follow the instructions here: –
https://www.jawfin.net/?page_id=143&cpage=3#comment-16517

Developed by Jonathan Barton

As has been requested on numerous occasions, here is a donate button!

Just put whatever you like in the Price per item box 🙂
This site also supports Brave Rewards from the Brave browser, so you can use that button on that browser.

Disclaimer: Jonathan Barton is not responsible for any damage or presumption of damage caused by this application. All information here is to be considered advice of which you may chose to act or not act on; this includes compiling the application yourself. As one guy said, you received free, give free – this application cannot be repackaged and resold for commercial gain. You may contact me if you see an opportunity for this. Consider this paragraph as the End User License Agreement – which can be changed at any time without notice.


Comments

Non Stick Mouse in corners of Windows 10 — 527 Comments

  1. Not sure if this is the best place to post but when I run the application the mouse hops to my left screen but cannot hop over and gets stuck on the right monitor, is there a setting or change that I should make?

    Thanks,
    Rajan

    • Oh hey, page throw!

      And yup, perfect place to post.

      OK, so, at a guess its possible your monitors are not perfectly aligned (not your fault, the Display Options don’t show an out-of-alignment, because it’s lame) – or – one screen has a bigger resolution and it’s not crossing back where it came from due to the overlap.

      I can’t really tell though, without seeing the screen values.

      Please try the debug version of this app, located within the Zip here: –
      https://www.jawfin.net/download/NSMDebug.zip

      And use http://imgur.com or similar to link a screenshot of it running, then I can diagnose it for you.

      As a disclaimer I have to state that the debug version lit up AntiVirus for some reason, it’s completely innocent, but if that dissuades you from using it I completely understand!

      Cheers
      Jonathan

      • Thanks Jonathan for the response,

        Sorry, I didn’t check the comments till today. I will download the debug version and post a screenshot but for reference:
        3 monitors setup is belo
        Monitor (1920 x 1080) + Surface Book 2 (4kish) + Monitor (1920 x 1080)

        The snag is happening on the transition to/from the Surface Book 2 to the right screen. The transition from the Surface Book 2 to/from the Left screen works flawlessly.

        Thanks again for providing the application and also supporting it!!!

        I will post again once I have results for you and really appreciate the assistance.

        Cheers,
        Raj

        • Hey mate,

          The reason for the screenshot isn’t so much about the resolutions, but the relative positions of the screens.

          Like this bit I’ve marked in red here, showing that the monitors are aligned: –

          https://i.imgur.com/srPErE5.png

          Cheers 🙂

    • Haha, that is crazy, and the reason why is because I use the inno installer https://jrsoftware.org/isinfo.php – a rather clever little install builder which is easy to use; only, in the last year it has lit up antivirus scanners like nothing else. I suppose because it can do all the things a naughty virus can do: write to the hard-drive (creating other .exe files) and registry, put in firewall rules, put in scheduled tasks and make applications persistent (I.e. put a short-cut to them in the Start Up). It even got annoying enough I considered building my installers as MSI files – approved Microsoft Installer – except for 2 facts, virus also use those, and there’s no way I am paying Microsoft to become a MS approved developer to fix a bug they won’t fix – I just can’t enable that stupidity!

      So, maybe, impossibly so, the AV scanners now recognise inno setup installers (and I mean, inno is extremely popular, they are hardly rare) and instead of shooting the messenger they actually look at the package itself. That, or they are more incompetent and miss what inno does – and I honestly can’t say which of those 2 it is! 🙂

  2. Found this little tool because well microsoft sucks i guess, thanks for creating this, really stupid on ms part. I just bought 3 monitors for my business and this was driving me nuts, i kept getting stuck when moving full windows around as i was trying to just drag across the top of my screens. what a shit idea from ms to block the mouse, as if anyone has a problem with aiming the mouse on any other button!

    • What got me is because it would stick in the top-right corner, which also just so happens to be the place where the close X is on a maximised window – the number of times I closed an app when I was intending to click somewhere on the next screen; it’s like they designed it to fail!

  3. hi Jonathan, in my case, the mouse jumps to the right monitor a little before it touches the side of the monitor. If I move the mouse slowly, it goes to the other side properly (only after touching the side of the monitor). It makes it difficult to use scrollbars, since the mouse goes past them a lot. Is there something I can do about it? Thanks in advance

    • Wow really? I would have thought that impossible – that would indicate that somehow the monitor alignment has been overlapped. We often run into instances where there is a gap it won’t hop, but to pre-fire – that’s new! If you’re comfortable in doing so, please download the debug version and link a screenshot of it running, that way we can see the sizes and offsets of the monitors, and may be able to deduce what the problem is.
      Debug version: https://www.jawfin.net/download/NSMDebug.zip
      Cheers

      • Sure, I’ll try. To give more detail, I had to do I full reinstall of windows (I’m now on win10 2004 – 19041.388), and was not sure if it was windows related or due to a new NonStick update. But the effects appeared after a clean install in my case.

        • Good to hear! A fresh install certainly provides a clean starting place! And as now you no longer have the problem perhaps it was a weird configuration or another app interfering. Still, all working now, so that’s good 🙂
          NSM hasn’t been updated in years – I mean, little tweaks / bug fixes / optimisations; but the process, the brains [so to speak] of it haven’t changed.

          • Ah sorry, I think I wasn’t clear enough heh. The issue only appeared to me after the clean install, when I had to install the latest NonStickMouse update. The issue is still a thing to me. I ran the debug version (didn’t uninstalled NSM to do so though, both were active). I recorded a short video, so you can check it running. I moved the mouse from one screen to the other, in different speeds.
            https://we.tl/t-Rv8exI1o1Y
            (uploaded to wetransfer, if thats fine to you).

            Thanks for your time

        • I can see it is jumping too early from the video, thank you.
          The issue there is its the Debug doing the jump, thus its Count is going up – which means I can’t tell at what stage NSM would have fired. There’s that switch on the debug called “Disable Actual Hop” so it doesn’t trigger.

          Nevertheless, it is firing about 20 pixels too early, and I can see the monitors are aligned correctly (the debug look-ahead is on 30, so still can’t say when NSM would have triggered).

          There’s a couple of thing which may do this, but I can’t be certain. But you could check the Windows font size to see if its messing with the metrics – its in Settings / Display (or right-click the Desktop itself and select “display Settings”) and check here for 100%: –

          Otherwise maybe the DPI could mess with it, multiplying by the scale thus triggering, which is that other link there in the image to Advanced scaling settings, to check for a custom scale.

          I doubt that’s the issue though, just needed to check first!

          You can also try running NonStickMouse.exe in compatibility mode – in the properties of the executable you could try changing its DPI settings – maybe that can coax it to behave.

          Failing all that could you please try another video but with the debug hop turned off? I’m running out of ideas!

          • Thank you for all the help. I did a new video with some tests, as you asked. I think you’ll have more info to analise now. And sorry for all the work.
            I’m not sure why this happens still hehe
            video: https://we.tl/t-6hJ8PQvbpV

            Thanks again

        • Yup yup, awesome. I was wrong in all my guesses, but what you showed me allowed me to work it out.

          OK so, firstly, this app is polled, that means it keeps checking to see if it should move the mouse or not. This is not the “smartest” approach, but it is passive. The alternative is to have it event, or hook, based – that is a hop is triggered when the mouse handler feedback tells the app to fire. That is not passive, in that it hooks into the OS to do the work, and I didn’t want to take that approach.

          The analogy would be answering your phone. You know you need to answer it when it rings! That is an event, or an interrupt (or a hook – get it, off hook… nevermind). By comparison polling is picking the phone up every 5 seconds and saying “someone there?” – hardly optimal, but you (I.e. the app) are doing all the work and not relying on [interfering with] the operating system.

          To make a long story longer, what I did was drop the poll check from every 50 milliseconds to every 1 millisecond, and to drop the look-ahead jump prediction from 30 pixels to 0 pixels – it’ll jump only when it gets to the boundary and no sooner – and it now jumps by 1 pixel instead of 2. You’d wonder why 2 anyway? That was because with the look-ahead a 1 pixel jump could double fire and bring the mouse back again.

          Obviously the increased polling has a greater overhead, and on my PC the 50ms to 1ms leads to a change of CPU usage from 0.07% to 0.2% – hardly a killer but still needs to be stated. Let me know if you care about the source code changes for this – I can point them out on the Github.

          But I didn’t want to overwrite my download above – in case I’m wrong 😛

          tl;dr? Download and use this: –
          https://jawfin.net/download/nsmdiego.exe

          Cheers!

          • Hi! Sorry for the late feedback here (I had too much work this weeks). I tested the new version here, and didn’t noticed much of a difference, weirdly enough.. I still get it going over the border of the screen early some times, so I can’t say how much better this version is. I guess I’ll have to test it more to know for sure.. what I can say now is that it feels almost the same here.. sorry for all the extra work btw, I’m really thankful for all your attention to this lil issue. I’ll use this new version more to get a better feel for it.
            If you need something else, feel free to ask. Thanks

        • If it becomes too annoying the only thing I can think of is a slower recording, either move the mouse a lot slower or somehow record with a higher frame-rate. Due to the frames its not easy to see the behaviour you’re experiencing. 🙂

          • hum.. can my mouse be influencing the problem maybe? I’m using a Logitech G402, so I can vary the DPI value when needed. I usually have it in a high value, so it moves between my monitors with less effort (the mouse works perfectly btw).
            For now I’m not worrying much about this issue, but if needed, I can try recording in 60fps.
            Thanks

  4. Thank you for creating this nifty tool.

    Man, it is so absurd that a random guy on the Internet needed to make this, because MS doesn’t give a verb, lol.

  5. Hi Jonathan – I hope you are well! I tried nsm and it seemed to work nicely with my four monitors but going from low monitor to high monitor (2×2 setup) on the right side, there is a little “bump” which used to be much worse before nsm. I tried to use the debug version to see what was going on but get error “Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item.” I tried running as admin, thru compatibility troubleshooter, and tried to “Take Ownership” of it to make sure I have the correct permissions, but no luck. Any idea? Thank you!

    • No, nothing springs to mind, and its hard to solve with these generic, and usually wrong error messages from Windows. I’ll have to put an exception handler in my debug which captures the error and builds meaningful information whilst doing so. I’ll post again once I’ve done that!

      I don’t suppose it could try to be referencing a disabled monitor, like it may have created a virtual one for say a HDMI port – but I couldn’t say where you’d go to check – perhaps in the Device Manager to see which monitors are attached.

  6. Pingback: How To Disable Sticky Corners On Windows 10 Dual Monitor Setup – rssfeed1

    • Hello Mr h.

      If you used the installer then use the uninstaller to uninstall it. Click the Start button and type “uninstall” and select “Uninstall a program” from the Settings search. If you are unsure on how to use this feature then do a Google search of how to “Add and Remove Programs Windows 10”.

      If you manually downloaded the exe and copied it somewhere and created a startup shortcut to it, then delete the file from where you copied it and delete the shortcut you created.

      If you don’t remember or are not sure, we can track it down: –

      Use the Windows flag key + R key combination to launch the run dialog.
      In the Open box put this command, but without the quotes: “shell:startup”
      (That opens a folder of apps which run at startup.)
      Delete the shortcut to NonStockMouse.
      If it is not there then its not running, or you have installed the start routine elsewhere (like registry or task scheduler). Assuming you have done that I would hope you know how to undo that.

      Now we have stopped it running automatically, we also want to remove the app too.

      Use Ctrl + Alt + Del key combination which creates a new screen on which has a Task Manager button, click that.
      Within the Task Manager you will need to click the “More details” button in the bottom left if it is there.
      In the list of “Background processes” locate “NonStickMouse” entry (if it is not there then its not installed/running anyway).
      Right-click that and select “Open file location”.
      If it brings you “C:\Program Files\NonStickMouse” or “C:\Program Files (x86)\NonStickMouse” that means you used the installer, and should try to attempt to use the uninstaller as mentioned above.
      (If it was not running look in that folder anyway via My Computer / Windows explorer.)
      Before we remove it, it needs not be running. Again on the Task Manager with NonStockMouse highlighted, use the “End task” button in the bottom right corner. You can now close Task Manager (the X button in the caption in to the top right corner).
      If NonStickMouse.exe in is a folder with other files, like say the Downloads folder, just delete NonStickMouse.exe itself.
      If it is in its own folder, dedicated for this app’s usage (for instance a folder named NonStickMouse) then go up one folder by pressing Backspace. Now you can delete that whole folder. If you are having difficulty understanding Windows explorer and folders, and tasks and so on, please go with my next recommendation.

      If this is still not working for you then find a friend who knows computers to this level and have them do it for you. Tell them what you tried from the instructions here.

      Cheers
      Jonathan

  7. I am so glad I found this program, or for that matter it exists at all. I was getting a bit peeved from all the redditors “solutions” of simply moving the window faster or disabling snap altogether… About the program not functioning with windows of higher privilege than itself, is there a way to make NonStickMouse higher privilege on startup?

    • Hi Graham, I’m not sure why it’s not behaving for you. Its remotely possible the download is being screened by some Draconian antivirus.
      It could also be the download file isn’t redirecting from the link in the post, in which case try the direct link here: –
      https://www.jawfin.net/download/nsm_setup.exe

      If that still won’t take can you please post the exact error message, or any feedback the browser is providing. Also, if you’re comfortable doing so, write the name of the browser you’re using and its version (typically from its About screen) so I can test with it.

      Thanks 🙂

      • That worked for me! I don’t have any additional AV besides defender, on W10. I’m not sure what the issue was, but thankfully that works. Appreciated!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.