Use this application to disable or bypass the sticky corners in Windows 10 & 11 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.
Note: A user has reported this app got falsely flagged as a game cheating app – which may cause issues for any Blizzard or Activision games, such as CoD.
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 (0 out of 89)
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 (0 out of 89)
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 embedded 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/lazarus
Developed by Jonathan Barton
Just put whatever you like in the Price per item box 🙂
or
Bitcoin BTC: 1B28E1adNTUMsmgpg2ijG1rSb9xScSXgcy
Ethereum ETH: 0x6d9b0bee0ac389444839f2e5c682ca09dc74c7a0
(For any other coins just make a request for a wallet address.)
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.
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: –
Cheers 🙂
VirusTotal count for the installer is down to 1! Hooray!
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! 🙂
yeah well virustotal counts 4/72 for the portable version
It’s a work-in-progress!
But for anyone who feels uncomfortable about using the app please get the source code from Github: –
https://github.com/Jawfin/nsm
Check by eye that the code is clean. I wrote it using the most simple programming syntax which can be followed, as well as lots of comments within.
Compile with the free version of Delphi: –
https://www.embarcadero.com/products/delphi/starter/free-download
Or, your mouse stays stuck; whichever provides the highest level combination of comfort and security for you.
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!
Thank you for your time and effort on this! It has changed my life!
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
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.
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.
THANK YOU! I’ve been hating this Windows noun for sooo long now. Really. THANKS a million times. I nearly went insane
Happy that it helped. Sad that its still required 6 years on, especially as Microsoft closed both “Windows Answers” (lol) threads about this fundamental bug.
Pingback:How To Disable Sticky Corners On Windows 10 Dual Monitor Setup – rssfeed1
Thank You very much, it works fine!
Hello, Is there a way to uninstall this exe file?
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
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?
Happy I could help.
Sad that MS hasn’t fixed this after 6 years!
And yes, use the task scheduler. Let me rummage around…
Try this: https://superuser.com/a/770439/190255
Give me a shout if that doesn’t help and I’ll do up a how-to myself – after all it’s how I run it 🙂
Found another tute from here https://www.jawfin.net/nsm/comment-page-3/#comment-16610
being https://www.thewindowsclub.com/autostart-programs-windows-10-make
The link to the auto running version doesn’t seem to work..
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!
That is strange, only because I run Defender myself, along with MalwareBytes Pro. But hey, we got it working, so that’s a win! Too much work to dissect why it didn’t take first time!!
Pingback:Deshabilitar esquinas / bordes pegajosos en Windows 10 - zows.online
Hi,
can you let me know where I can download the “debug” version ?
Thanks
Yes sorry.
I have it at https://jawfin.net/download/NSMDebug.zip
I just tested it and Windows Defender is now calling it Win32/Uwamson.A!ml so no idea what that is. Hardly a surprise Microsoft is triggered by an application which fixes its bugs. Conspiracy! If I feel determined I’ll take them to task about it again – but it really is like pushing a ball up a hill, the second I stop pointing out their AV mistakes is the second they go back to making them.
As another check I just threw it at VirusTotal https://www.virustotal.com/gui/file/f6f80282a58472d4cb262f24f74b175e03ef2840cb282171d5db91033d1c3ebe/detection
with 29 false positives. My record is 62 🙂
Now it’s being flagged as Adware – ironic considering it doesn’t contact the Internet.
After that full disclosure if you’re still happy to use it and get stuck please post a screen-shot of it running here, and I should be able to work out what’s going on.
Cheers 🙂
Thanks Jonathan, for a life-saving nifty tool! My pc is just updated to Win 10 yesterday, and I already *accidentally* killed the applications on my left screen for 10+ times, screaming curses every time. So glad to have found this tool, when MS is “still working on a solution” after 5+ yrs.
Cheers~
Hi Jonathan, this application has been a lifesaver for me, for a long time now. But it doesn’t seem to be working anymore. I can install the debug version, and I can confirm that the cursor won’t break from left to right screen until it goes 5 pixels down from the top of the screen (i.e. from y=0 to y=5). I run Bitdefender, but I don’t think this is an issue. It does not look to be flagging the app at all, and I temporarily disabled protections and the issue still remained. Any idea what’s happening? Thanks for your work over the years. Sending you a donation momentarily to reiterate how important this app is to me. 🙂 P.S. There is an extraneous escape char in your form below, i.e. “I\’m not a spammer”
Ha, so there is (an escape slash) which is from WordPress, so I’ll fix that.
Sounds like your screens aren’t perfectly aligned (a bug/glitch in Windows) – so could you please post a screenshot of the debug version actually running? Thanks!
Edit: Thanks so very much for your support! 🙂
Ah you are correct! Surprised I did not notice that. There is a 10px misalignment. I can’t seem to get rid of that using the stupid drag and drop UI in display settings. Will have to see if there is another workaround for this bug. Very stupid. And also new, not sure why it just started happening recently. Bad MS! Your screenshot: https://imgur.com/a/pOQP11g
So if I hold shift while dragging display positions in that stupid UI, I can get the misalignment down to 1px which does not prevent cursor movement through any adjacent corners, so I guess I will just live with that.
Ewww yea – those 10 pixels though!
As you note, its not your fault, its the UI. The old Control Panel display showed the offset pixels with a mouse-over hint when dragging the screen – doesn’t even do that now. Here’s my best working approach to try to flatten it out: –
https://www.jawfin.net/nsm/comment-page-2/#comment-15310
If you are seriously keen you can track down the settings in the registry and manually change the figures *insert usual don’t mess with the registry etc warning here* 🙂 as also mentioned in that link above (and I suspect you have to effect those changes while explorer.exe isn’t running, not something you should do unless you really are comfortable in doing so [in other words if you don’t know how to do this then you’re not comfortable {no offense intended!}]).
Love it, awesome, I was about to try my hand at making an app myself, but it was going to be a AHK hack job.
I want to donate but I don’t use paypal…. you should get a ETH or BTC address up here, i’d send a buck or two.
Good point.
I chucked in a couple of wallets as you suggested.
BTC: 1CUK8TT79B2wveuhSeJKpJpyunrj7iq2Sb
ETH: 0x69E94b16d3EB42E14B0E641DDaCb9093F2a454e7
Cheers 🙂
Hi Jonathan
Long time fan of non stick mouse. Wonderful yet simple program.
I have finally tinkered with my system enough that I need help. For a while, I was using three 27″ wide screen monitors and everything was fine. This past Friday, a 32″ screen arrived. (bought it by mistake, but since I did, might as well use it!) So, I inserted the 32″ screen in the middle of two 27″ screens. I think I have finally confused non stick mouse.
I have the tops of the 27″ screens roughly lined up with the top of the incher. Now, when I move the mouse between screens, it jumps quite a bit. For instance, when I cross over from the bottom of my middle screen, the mouse lands near the top of the smaller screen. Same thing in revers when moving from a side monitor to the center monitor.
I found that when moving across the top of the three monitors works fine. Below that and the jump is considerable. When I move a window between monitors, things line up great until the mouse gets to the intersection, then things jump. I’ve tried playing with the variables in the non stick mouse feedback window. I don’t know how to upload anything from that yet. I am going to attempt to insert a screen shot to help illustrate part of what I have attempted to describe in the above novel.
Well, I apparently don’t know how to post a screen shot. Should someone be kind enough to enlighten me, I will try a screenshot again. Any insights as to what I’m doing wrong will be appreciated.
Hey John.
So what you’re seeing is expected behaviour. I would suspect the resolutions on each monitor is different, and perhaps not relative to its size. To try to explain, say I got 2 17″ monitors, left one resolution is at 1024×768 and the right is at 1280×1024. When the mouse is at the bottom right corner of the left screen, so literally at (1024,768) and move it 1 pixel to the right it’ll then be at (1025,768) – but as the right monitor has a pixel height of 1024, and it’ll be placed at height 768 – thus it’ll appear to jump over 200 pixels up. This is Windows behaviour – terminating NSM won’t change it, and neither will running it change it too – as I’m just focusing on not jamming the mouse, and not handling scaling issues.
There are other apps which can do that – I think DisplayFusion is one – if it’s still around – but pretty sure it’s not free.
If I’ve misunderstood, here is the quickest way to share a screenshot. Press the PrntSc key for the whole desktop, or Alt + PrntSc for just the top-most window (PrntSc is the left key of those 3 in the top right of the keyboard: PrntSc, ScrLk & Pause). Go to https://imgur.com and just press Ctrl + V to paste. It detects the image in the clipboard and generates it online. Run the mouse over the new image, a Copy Link button appears in the Top Right Corner, click that and paste into your comment here: again Ctrl + V. Here’s mine! https://imgur.com/RXK0FkZ
Let me know if I didn’t explain that well enough.
Cheers!
Wow, fast response! And you understood perfectly and hit on the center monitor being at a different resolution than the side monitors. When time allows, I will look around for something that can help with scaling. Sometimes work gets in the way of personal, oh well. I’ll have time.
🙂
A quick search lead me to here: –
https://superuser.com/questions/1119204/move-mouse-proportionaly-between-different-resolution-and-dpi-displays
Offering 3 solutions in the 3 answers: DisplayFusion, LittleBigMouse & MouseMapper – and each of those worked for different people depending on their circumstances. I cannot speak personally for any of those, just seeing if it may help.
Hi Jonathan,
I have just discovered NSM (thank you for writing it!). I works perfectly, nevertheless I have a small issue with it. I have put a shortcut to NSM in startup group. The program is running (I can see it in task manager window) but it doesn’t do it’s job. I have to kill it and run it again manually. After that it works as expected.
Do you have any idea?
Best regards
Ivo
Hi Ivo,
I’m stuck with that one! I can’t think of why it wouldn’t take – my only guess and this is a long shot, is that it is the Start Up group for All Users instead of Current User – and even then I don’t think that would make a difference. You could check this folder, do Start/Run and put in “shell:startup” (no quotes) – or just type that into the Windows Explorer address bar,
A couple more things, if you set the “Run as Admin” in the shortcut of the startup it won’t take. Failing that don’t use the Start Up but create a Scheduled Task which runs at login.
Hope that helps.
Cheers
Jonathan
Pingback:REVISIÓN: Deshabilite las esquinas / bordes pegajosos en Windows 10 - ¿Qué Significa el Error?
I love this program, however it costs a lot of memory latency in ns (eg: aida memory benchmark). Disabling it helps fps in extremely cpu bound games/aiming.
Is this just constantly polling every 1ms? is there a way to maybe optimize this more?
I know its clunky – I wouldn’t say it is designed like that on purpose, but as you note its poll driven and not event driven. That means it constantly checks to see the position of the mouse, instead of firing when the mouse moves. The upside is the overhead is constant, unlike event-driven which can spike higher than the poll especially when the mouse is moving a lot – therefore introducing latency at the worst time!
The check is 10 times a second, 100ms. If you’re keen (and I’m guessing you can program) you can get the Delphi source from Github https://github.com/Jawfin/nsm and tweak the Interval property (which is on 100) to balance overhead versus responsiveness. Otherwise I’m happy to make it a command-line parameter, so for instance you could run “nonstickmouse.exe poll 200”.
The reason I selected polling is its a passive approach, it’s not hooking any event drivers or touching the operating system in any way. Another programmer has put together an event-driven solution – I can’t support it, nor speak for any repercussions from running it, and I suspect if you need help from the developer you’d best be raising a question on the Github project itself, which is here https://github.com/cjmanca/MouseFix
If you’d like me to do it as a command-line parameter please write back suggesting such, and ideas on how you’d like to see that implemented or other options.
Cheers
Jonathan
Greetings! First of all, thank you for making this program!!! REALLY annoying without it…
I’ve been using it for months now (weird I didn’t thank already, must have forgotten), and just now I started having an issue, which is it seems Windows is putting my secondary screen 7 pixels below my primary, and I can’t change that. That’s how close it gets from the Settings app. No idea why. This is LTSC 2019 edition, by the way.
I know it’s 7 pixels because of the debug version of NSM. Also to confirm that, if I apply the range to 7 pixels, it works perfectly (only from screen 2 to 1, the mouse will be 7 pixels below what it should be.
Could you put some options on the main program? Like the range to apply, and the monitors to apply that range to? Like, from primary to secondary, 7 would be perfect in this case. From secondary to primary, either the default or 0 will work perfectly. If you have time and is possible, of course.
In any case, thank you again for the program!
I may be able to knock out something like that, but it really would be better if its fixed at the source instead of shifting the band-aid as it were. Indeed, I would even prefer to write a whole new stand-alone application which allowed you to type in the numbers where you want the monitors to be – the debug version but being able to modify the numbers!
But before we try further to break what is already broken, please try the methods I detail in this post as to how to align the monitors: –
https://www.jawfin.net/nsm/comment-page-2/#comment-15310
If it just will not play ball I’ll work on the debug version to allow direct entry of the correct offsets.
Cheers
Jonathan
Ok, update. This is a method of fixing your offset without a separate application. Please only do this if you are comfortable in modifying the registry.
To be completely safe create a system restore point.
Run RegEdit.
Locate this key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\
Now within that Configuration you may well have a stack of entries, but only 1 is valid. The quickest way to identify it is to remove the lot and let Windows rebuild it. Make a backup of the `Configuration` key – right-click, Export, give it a name and save it as type Win9x (which means its saves as a text file).
We don’t need to outright remove it, just rename it. Close all other programs first, rename like `Configuration` -> `Configuration.renamed` then Log Off / Log in or reboot the computer.
Fire up regedit again and now there will be only 1 key under the new ‘Configuration’. In there each monitor is listed as 00, 01 etc. Locate the entry which represents the wrong offset, and it will have a value called `Position.cy` – being the Y offset, change that to 0 (zero) so it has the same top as the primary monitor.
Then reboot or logout & login again and check the registry again to ensure the new value stuck, and note the top monitors should be aligned. At this point you can delete the `Configuration.renamed` if you wish.
To restore you need only import the .reg file you exported by clicking on it and merging to the registry. Worst case you can restore from the system restore point.
Cheers!
Hi,
I just had a double screen setup for the first time of my life today, and this problem annoyed me right after using the screens,
So I just wanted to thank you for your time and effort to share your work with us, truly appreciated.
Thanks 🙂
Absolutely my pleasure. Please let me know if it doesn’t behave as desired! Cheers 🙂
Pingback:Désactiver les coins / bords collants dans Windows 10 - wfpc.online
Pingback:Deaktivieren Sie Sticky Corners / Edges in Windows 10 - okidk.de
I’m trying to compile the program, but GitHub is missing WpfScreenHelper, or else the solution is missing the dependency. Would you be able to help with this?
I’ll have a look – busy right now but letting you know message received.
It’s possible I’ve been lazy and didn’t publish my very latest source code, but nothing which would affect dependencies.
May I ask though, what compiler are you using?
Edit: I’m stuck – I can’t see how that error came about. I do need to know what compiler you used which did that – then I may be able to track down and fix the issue. Cheers!
Thanks for getting back to me so quickly! I’m using Visual Studio Community 2019. If it’s not a missing dependency on your end, my hunch is that your compiler/IDE has a non-standard package installed that mine doesn’t.
That would be the issue then sorry. This is written in Delphi/Lazarus and not in C# or Visual Basic. Its a completely different programming language, based off Pascal (not C or BASIC). So you’d need a Delphi / Lazarus IDE compiler to create the executable, If you’re still happy to go down that path you can get a free copy of either.
Delphi: https://www.embarcadero.com/products/delphi/starter/free-download (1 year demo license)
Lazarus: https://www.lazarus-ide.org/ (free)
If you use Lazarus: the source code is in Delphi so you would use the Delphi -> Lazarus converter when loading the project.
See here https://www.jawfin.net/lazarus
Hey Jonathan Barton,
Thank you, thank you, thank you… 🙂
I have suffered with MS’s idiotic sticky windows (and lack of action on the issue) for years!
I used to have another program that tried to do the same as your wee god-send but, not as well. And then, one Windows Update, it stopped working completely 🙁
Today, I discovered your little gem and just wanted to comment with much thanks!
My pleasure 🙂
Hey Jonathan,
I came across your site and was very excited…downloaded and ran the exe and verified that it was running in Task Manager.
However, on my touch screen I still can point my finger to the bottom left corner of the screen and swipe it fast (towards the middle of the screen) and the screen with all running apps comes up (there is a “+ New Desktop” icon on this screen as well). I was hoping your app would disable this feature. Am I missing something?
System is:
1 Touch screen monitor
Win 10 Pro 20H2 (OS Build: 19042.1052)
Experience: Windows Feature Experience Pack 120.2212.2020.0
Thanks!
-Mike
Hey Jonathan, this is Mike again…I forgot to mention that my Win 10 Pro has been updated with the latest Win Updates on 6/11/2021 and Win Update reports: No more update available.
Thank you,
Mike
Hey Mike,
That’s not it’s purpose, so if it did what you were hoping it would have been coincidence.
This app is to specifically bypass the Windows bug whereby you have multiple monitors, physical devices sitting on your desk, and when you move the mouse from one monitor to the next it gets stuck in the corner. NSM repositions the mouse onto the next monitor – but in such a manner so that sticky corner feature (allowing fast side-docking of a dragged window) still works.
What you’ve described is the interface Microsoft developed for those without an actual pointing device (mouse) and you only have a finger / touch screen. So I think you’ll find that dragging up from the bottom-right corner opens the settings – or a side-bar of options.
Maybe this post can help: https://www.tenforums.com/tutorials/48507-enable-disable-edge-swipe-screen-windows-10-a.html
Otherwise a search on Google of “disable windows swipe menu” may find what you need.
If you’re old-school like me and hate all of Windows new user interface, and prefer the functionality of the Start button as it was prior Windows 10, you can try this app called Open Shell https://open-shell.github.io/Open-Shell-Menu/ but just be sure that is what you want, as it may be less friendly on touch screens (ie. lose functions which Microsoft specifically developed for touch screen).
Hope some of that helps.
Cheers
Jonathan
Hey Jonathan, thank you so much for clarifying this for me! There are a lot of information about disabling swipes from the sides and corners but none of them seem to be working for the “bottom left” corner of the screen (that one is still active). I appreciate your links and will look into them.
Best Regards,
Mike
Hey Jonathan, just wanted to let you know that the link (https://www.tenforums.com/tutorials/48507-enable-disable-edge-swipe-screen-windows-10-a.html) you provided was the solution.
Thank you a million,
Mike
Nice work! And thanks for letting me know 🙂 I do worry when I’m not sure if a problem has been solved, so very happy this one worked out!! Cheers
Pingback:Comment désactiver les coins collants dans les paramètres de double moniteur de Windows 10 | TOUSLESPC
Pingback:Comment désactiver les coins collants dans les paramètres de Windows 10 Dual Monitor | TOUSLESPC
Hello, I love your program however I am having some issues with using the functionality it provides!
My issue is this, I have come to rely on the sticky corner feature for hitting the show desktop button on the task bar as well as pressing the cross on windows but the sticky corner “feature” was driving me nuts with my 3rd monitor that was positioned above my 1st monitor as it would constantly get caught on them when trying to move to the bottom left to get to my 2nd monitor (my setup is as follows: 2 monitors side by side designated 1 on the right and 2 on the left with a 3rd monitor above monitor 1)
Thus I am asking if you could kindly provide me with a version that does not skip corners on monitors 1 and 2 and only on monitor 3?
If you could fufil this wish I would be most gratful!
Many thanks, septicsal
https://imgur.com/a/gONtV67 If this helps
I am sure I can do something for you, let me think on it! (Is 12:40am here now!)
Also, end of financial year and I write accounting software professionally, so will be a bit slower than I’d like.
But as a compromise, and forgive if you knew this, but the Windows Key + D does the same thing as that button panel there does.
Ok, thought on it!
For me to write this for you, what I’ll need is the exclusion zone, that is the X & Y values which make that button up so I know to ignore any hops from there. The easiest way may be to run my debug version and note the X & Y values when the mouse is at the top left corner, and the X & Y of the bottom right corner of the button – so I can skip checking within there. So once you locate those post back and I can put it in a special build for you.
Thank you and there is no rush! Where can I get the debug version of your software from?
Oh um here!
https://www.jawfin.net/download/NSMDebug.zip
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!
Thanks, here is an imgur link with the output from the debug tool: https://imgur.com/a/kzbAaO1
So it would be screen 1, top and bottom right I would like no hops to occur on.
Many thanks again.
Which is the problem when I reply 1am!
I’ll try explain better what I need. There will be a rectangle which makes up the size of the button, and when the mouse is within that area we don’t want NSM to fire. Funny though, of course when you rest the mouse over it the screen hides!!! So position it just above the box and don’t move the mouse and screenshot NSM Debug, and post that. So for me I get this: –
Now as my mouse was just above the button (use the vertical resize of the taskbar cursor to put it there) I know the exclusion zone will be the rectangle defined by 1275×945 1280×945 1280×1024 1275×1024 if that makes sense, the rectangle from 1275×945 to 1280×1024. So when NSM sees the mouse in that are it’ll skip the jump.
So please post a new screenshot with that, thanks 🙂
https://imgur.com/a/jK2p7Yf this is the one for the task bar with the red dot where the mouse was hovering at the time of screenshot
https://imgur.com/a/SjqLEDF this is the one for the top of the screen for closing windows, again with the red dot being where the mouse was
Hope this is what you were looking for.
Thanks
That should give me something to work with. Unless I’ve misunderstood the X of the window isn’t the problem, just the Minimize All button in the task bar. I’ll post again with a download once I’m done 🙂
Ok, program done. Get from https://jawfin.net/download/NonStickMouseSept.exe (note link is case-sensitive).
The code introduced for this special compile was in
procedure CheckMouse;
and at the top there is: –//The Septicsal Special - don't jump the mouse past the Show Desktop bar
if (pt.X>-6) and (pt.X<0) and (pt.Y>1240) and (pt.Y<1272) then
begin
result:=false;
exit;
end;
So hopefully that should work as desired 🙂
That does indeed work perfectly!
Many thanks
At first there was the concept that Windows integrates everything on its desktop. And a bit later that the desktop could span multiple monitors. It really worked.
But that was Too Simple for Microsoft.
Then came the idea that everyone would naturally want only one application showing, and that we needed more clowns (cough, charms bar, cough) to jump out in the funhouse that had become the desktop. Thankfully, sensible folks in Microsoft left us ways to disable all that crap. Initially at least.
For a long time – I want to say several years of Windows 10 releases – one of several different registry tweaks were available to work around this stupid “catch in the corner” behavior. Then they stopped working.
Bless you for inventing this workaround. I have 4 monitors, 3 at the bottom and one at top, and now I can transition through them without losing my mouse in a corner somewhere.
I would prefer not to have to have another process running continuously, but your workaround here is pretty painless to set up and small of footprint. Thanks!
It never meant to go this long – Microsoft should have fixed this basic bug years ago! It would show respect to their customers if I got to retire this!!
And, you forgot to mention the tile debacle – where the desktop could be replaced by absurd tiles. I mean, it took developers to make that, and as a developer it was the most functionally useless change ever. It was then I started using Classic Shell (now called Open Shell) which I recommend to anyone who can use a keyboard.
Thanks for your kind words 🙂
Thanks for the program, however i still get the sticky transition between screens 4 and 2 in the config here:
https://i.ibb.co/M165wDT/1xth2g.png
Snapping’s disabled, ghastly feature (makes trying to reposition spanned windows an infuriating game of whack-a-mole!), monitors are as aligned as the desktop settings allows, yet still the pointer gets stuck between those two screens..
Sorry for the delay in approving and replying, I was out of my office for a couple of days. I’ll check your post and see what I can come up with.
Ok, sitting in my office now!
Although those screens seem to be aligned I suspect that they are not. There’s a bug in Microsoft’s screen alignment display control (what you posted the image of) which shows monitors to be aligned when they aren’t.
For me to be sure could you please run the debug version of NSM and post a screenshot of that? Get from: –
https://www.jawfin.net/download/NSMDebug.zip
Thanks,
Jonathan
You are awesome Jonathon, I’ve spent the past 4 hours finding a solution only to find you here. This is fate, and I hope you understand just how awesome you are.
Here’s the sad thing though, the better the person I am, the worse the Microsoft corporation is. Not stating that as libel, its just pure Boolean logic!
ça fonctionne !
Un grand grand grand grand grand grand grand grand grand merci !!!
My pleasure, cheers 🙂
Hi Jonathan! I just started experiencing the issue where the mouse gets stuck on the edge of two of my screens. I need to speed the mouse up to make it past the border. I tried your app, however it doesn’t seem to be working for me. Here is the screen shot with the debug app running:
Thanks in advanced for any help you can give!
Looking into it now. Just note I edited your post and removed the link to the image as it contained your personal email address on the screen.
So first some translating, the numbers I show on the debug app to the numbers on the Display Options: –
0=1
1=4
2=2
3=5
4=3
And just to save looking up, the numbers on the Options to my debug numbers: –
1=0
2=2
3=4
4=1
5=3
This means when you move a monitor on the options you look at the related number on debug (to check the positioning).
Firstly we need to get rid of that left=7 on debug monitor 1.
So in Display Options grab it’s number 4 screen and move it left. When you let go you want to see 0 in the Left column of row 1 (and 1920 in the right).
Now hopefully 5 on options, 3 on debug, comes along for the ride, but if not, grab 5 on the Options and move it left so on debug monitor 3 has a left of 1920.
On the Display, did you want the bottoms of monitors 2 & 3 to align at the bottom? If so, you’ll need move up monitor 3 and look at the row of debug monitor 4 until its bottom has 1080 (the same bottom as monitor 2). The same could be said of the top of monitor 5 to be the same as 2, so 5 is 3 in debug, so move it down so -30 becomes 0 in the Top column.
In short, our goal is to have the same Left’s on monitors left aligned, Top’s for those such, ditto for Bottom.
Now, the Control Panel Display Options is a serious pain for fine-tuning pixel perfect alignment; you just have to bear with it. Try doing things like dragging the monitor so it overlaps the one you wish to align with on the edge which is to be aligned, and let it go and hopefully the snap back to position will keep the correct “offset” (almost always 0).
There may be software out there which allows you to type numbers in for the screen’s relative positions, so if the Microsoft dodgy interface just can’t cut it then write back here and I’ll go hunting for what can do such a fundamental thing. After all, if Microsoft could have managed to get their Display Options screen to work, they could also have fixed the bug which required me to write this app in the first place!!!
Cheers
Jonathan
awesome your Software got me banned on blizzard while it was running and I tried to launch and play Call of Duty. just a heads up so Others Dont lose money like this
Any comments on how this can get you banned from certain games ?
lost all my Blizzard games when Call of Duty flagged this program as hacks >>
First step is to contact Blizzard (the lovely company such as it is) and direct them to this site, or even me, as to allowing this app to not be flagged as malicious. Note this app is open source, it is on Github, so its not like it contains any secrets.
I would imagine, and this is taking a veeeeeery big stretch, but I suspect that it is possible to write an aimbot by instead of directly changing the person’s aim by modifying the memory which holds info (the typical way) you could have an app which moves the mouse independently of the game and let the game see the mouse moved and have that translate to the user’s aim.
That would be an extremely clumsy and unreliable aimbot, but it would also be achieved passively, without affecting the game. This also means, and I wonder as to the legality of this, that Blizzard is scanning all your running software, diagnosing / reverse engineering them, to see if they are cheats. It’s not unlike Sony installing rootkits on their CDs to prevent pirating, an understandable approach, even if criminal. Perhaps the T&D’s of CoD grant them permission to do this, wouldn’t hurt checking your bank balance to ensure the T&D’s don’t allow direct gleaning to help pay for any lawsuits they happen to raise – you’ve already stated *they* cost you money.
I’ll put a warning at the top of my page here.
Let me know if you manage to have them resolve this – who knows, they may be even more competent that Microsoft!!
This is unreal >>> even making new accounts … Seems that activision has now flagged my computer and each time I end up banned again.
I am not some little kid that was hacking or messing around. This was a game that i spent tons of money on to play with friends and family and our kids.
Bought another copy today >>> new account and all… and BOOM shadow banned again (will not connect to any Games)
Really is a shame that All I was trying to do was fix an issue with Windows 10 And snapping… I wish I would have known better. I think You should def leave that disclaimer up there.. people stand to lose ALOT of money when their Account and all the games and DLC are gone.
You certainly have a right to appeal. Please feel free to call on me for any help if needed. I absolutely did not imagine this could happen, and am irritated with the vacuous behaviour those companies have.
Pingback:Windows10でマルチモニター環境のときに、四隅でひっかかる現象の解決方法。 - なんでもないげつようび
that’s so unlucky, i stopped using this a really long time ago because it was affecting my fps in warzone/aida ns benchmarks and lucked out
I know this is far fetch.. but its the point of it … maybe you guys could help me out and tweet them with me? They seem to not respond at all.
Because of this Even Making a new Account and BUYING another copy…. resulted in a shadow ban because they Flagged my hardware ID because of this >>
between myself and my wife and our kids and also friends as well.. I have bought over 6 copies of Cod now >>
I went to email support (the more professional way businesses communicate) but there is no support email address. There is only raising tickets with existing accounts. I didn’t want to create an account to raise a ticket with an issue which doesn’t affect me personally, I thought it wiser not to!
https://support.activision.com/options
So I did as you suggested: –
https://twitter.com/jawfin1/status/1426306153252749312
Not holding my breath, so lets see.
As pastebin is a highly indexed webpage, I figured a back link from there can’t hurt https://pastebin.com/Rqq48nQ2
Thanks for the effort Im sure nothing will come of it. The company is garbage.
They hardware banned my pc. which is the most intense form of banning that they do. all for something that was innocent.
I just don’t know what else to do, I’m so sorry.
Even if there was a way around changing the hardware fingerprint any “new” device may also get auto-banned from using your account.
I assume you’ve jumped through this hoop: –
https://support.activision.com/ban-appeal
I feel gutted. I can only hope its a matter of time until they get around to resolving this. As stated before, I only hope they are more competent than Microsoft themselves, who haven’t fixed the sticking corner bug for 6 years.
Installer download link not working? (Chrome browser)
You’re right! I wonder what I broke…
I’ll write back as soon as its sorted, thanks for letting me know 🙂
All fixed. The webpage wasn’t referencing https protocol, just the http – so wasn’t finding the file. It should be good now – let me know if not.
Also note, if you have Call Of Duty or any Blizzard or Activision game this may interfere with your account as they have yet to get around to fixing it at their end (to my knowledge).