144

It seems Microsoft has tried to solve this problem Multi-monitors and the corners of the screen.

In Windows 7, there is no boundary between monitors and the mouse can move freely across the top of the screen between my 3 monitors, provided I had set their heights equal in display settings. Windows 8 introduced sticky corners. See this question.

Windows 10 got sticky corners as well. There are a few pixels at the top corners of each display where the mouse cannot cross over onto the other display. One must move the cursor down to avoid this region in order to get to the next display.

The image shows roughly the region where mouse movement is not permitted in Windows 10, but is allowed in Windows 7.

enter image description here

Personally, I had no problem with unrestricted mouse movement across the top of my screens - I got used to "aiming" for the x, and the convenience of unrestricted cursor movement. Like all the people who wanted to disable it in W8, I'm wondering if there is a way to disable it in W10.

Edit to address possible duplicate:

Although the problem is identical to the one in this question, solutions to solve the problem in W8 involving editing the registry key MouseCornerClipLength do not work in W10, since that registry key is not present in W10. Also adding that key and setting the value doesn't work. I searched the entire registry and couldn't find it in another location. No other W10 keys in the node referenced in the W8 solution are obvious replacements.

Edit to address possible solutions in comments

harrymc's suggestion 1 and suggestion 2 that worked for for Windows 8.1 do not work in Windows 10.

12
  • 15
    This has not just to do with the close window button, but other things. For instance, moving a window from one display to the next. You used to be able to drag the display directly across the top of the display into the other one. Now you must move it down while dragging then move it back up. I was crashing into boundaries all last night after installing W10. I can't believe more people haven't complained :)
    – djv
    Jul 30, 2015 at 21:06
  • 1
    I was not sure hence why i added it as a comment rather than an answer. Thanks for the info. Jul 31, 2015 at 16:12
  • 4
    @harrymc despite a long and widely participated in beta
    – djv
    Aug 5, 2015 at 15:01
  • 13
    I just want to cry whenever I accidentally close an application by accident thinking that some programmer at Microsoft spent time implementing this stupid feature and did not think one second that people would click on the X button when all they wanted to do was giving the focus to a window on the other screen. Design books will talk about this one in the future Mar 9, 2017 at 13:45
  • 1
    @djv: You can use Win+Shift+Arrows to move apps from one display to the other. It's much faster than dragging them. Sticky Corners still very much suck, though. Mar 14, 2019 at 11:16

11 Answers 11

43
+50

The thread How to disable sticky corners in Windows 10? from answers.microsoft.com treats this same problem :

When moving the mouse from the left monitor to to the top left of the right monitor the 6 pixel corner will catch your mouse.

I have similar problem in windows 8.1 and changing MouseCornerClipLength in registry to 0 from 6 and disable Corner Navigation in Taskbar and Start menu properties helped.

Anyway in Win10 i can't find MouseCornerClipLength, Corner Navigation disabled at all and adding same registry keys won't help.

The answer on June 4, 2015, by a Microsoft Support Engineer named Vijay B was :

We are aware of this issue and it is currently being investigated. Stay tuned and we will update this thread when additional information becomes available.

If any other posters experiencing this have not submitted this through the Windows Feedback App, please do so. This article http://answers.microsoft.com/en-us/insider/forum/insider_apps-insider_feedback/how-to-share-feedback-on-windows-10-technical/5e501781-a580-43e3-8926-40ae19343805 explains using the Windows Feedback App.

It seems that your only option is currently to wait for a future improvement, or for some hacker to come up with the right hack. Adding your voice to the Windows Feedback App might help.

[EDIT1] The open-source application Non Stick Mouse is said to offer a solution in the case of multiple monitors. The developer states:

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.
[...]
This application does not read or write to any drive, it does not access the registry or connect to the Internet.

Warning: It has been noted in the comments that virustotal finds malware in the latest version of "non stick mouse".

[EDIT2]

I have found a source that gives a solution for Windows 10 (which I'm unable to test now):

  1. Disable Snap
    In Settings > System > Multitasking, set Snap to Off.

  2. Registry modification
    Create and execute the following .reg file:

     Windows Registry Editor Version 5.00
    
     [HKEY_CURRENT_USER\Control Panel\Desktop]
     "MouseMonitorEscapeSpeed"=dword:00000001
    
     [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ImmersiveShell\EdgeUI]
     "MouseMonitorEscapeSpeed"=-
    

[EDIT3] Microsoft might have finally disabled this in its latest versions.

24
  • 4
    Nearly three months later. Just updated to Windows 10 and this is still an issue. Thanks for pointing me in the direction of where to complain.
    – Chaser324
    Oct 29, 2015 at 7:43
  • 17
    Still an issue in 2017
    – Keith
    Feb 2, 2017 at 18:08
  • 7
    Still an issue at the end of 2018, they'll never fix it. Nov 6, 2018 at 14:39
  • 13
    The year is 2019, still no improvement.
    – CustomX
    Apr 24, 2019 at 11:18
  • 4
    2020 checking in, still no fix
    – Hoog
    Feb 14, 2020 at 15:04
28

I developed an application to deal with this issue as Microsoft evidently seem intent to ignore it. You can get it from here: http://www.jawfin.net/nsm

7
  • 1
    Yay, someone noticed! But staying on-topic, if anyone needs help with this app, or has suggestions for improvement please post on my site so all can see it in one place. Cheers :) Dec 17, 2015 at 4:20
  • 1
    This works surprisingly well, although it has trouble crossing monitors with different resolutions.
    – isanae
    Feb 10, 2016 at 19:04
  • @JonathanBarton Your application shows up as a virus in scans. Is there a reason why? It shows as suspicious when scanned by MBAM as well.
    – mbomb007
    May 30, 2018 at 14:11
  • Hi @mbomb007 - there are copious comments on the related website here jawfin.net/nsm detailing all the fun I've had with AVs. Please read those for more information and ways you can satisfy yourself the application is clean. Cheers Jun 6, 2018 at 7:09
  • 1
    This application is absolutely awesome! Thank you! PS: In case the website goes down for whatever reason, you can find the source-code at github.com/Jawfin/nsm.
    – Gili
    May 26 at 21:43
9

In the spirit of Jonathan Barton's contribution above, I developed a little Windows C# command-line application to deal with this problem, and allow the mouse to move smoothly across multiple monitors, and also to wrap-around between left-most and right-most monitors. Note that this program does not require a "heuristic" to determine when the cursor is near the screen edge, so the cursor flows very smoothly across the edges.

  • MouseUnSnag - GitHub - You can compile it from source, or there is an executable provided as a GitHub "release".

MouseUnSnag also addresses this related superuser.com question about the cursor getting stuck on edges of monitors of differing heights:

5
  • 1
    Thanks for this fantastic tool. It's a pleasure to use. Even better than it sounds, in practice. Oct 18, 2018 at 10:41
  • This works for me but Chrome detects it as a virus when downloading. I'm only using built-in Windows AV so not sure if Chrome just delegates to that. However, on its readme there are instructions on how to compile and they worked perfectly. I didn't realize how easy nuget is and how small the C# compiler is. Didn't see anything "funny" in the source file so feel good about the AV issue. However, to use permanently, need to have it run not from CLI I think. Oct 22, 2018 at 16:17
  • Thanks for the heads-up on getting flagged by AV. It may be because the EXE is "unsigned", so it might show up as "unknown publisher" or something similar.
    – dale
    Oct 22, 2018 at 20:30
  • This works beautifully! Better than my script (answer above). Also: For the incredibly lazy/dumb (like me) here's a link to the releases page to download: github.com/dale-roberts/MouseUnSnag/releases -- p.s. Can you update this to not include the console when you launch it? Jan 17, 2019 at 6:01
  • p.s. In the meantime, I'll launch this on startup and just minify it to the system tray using RBTray (I also submitted a request there to allow a command line option to minify regular apps on startup, too) Jan 17, 2019 at 6:10
6

Partial solution

  • Disable "Snap"
  • Doesn't fix the whole problem, but makes it a lot less severe.
  • Easy to do: Disable "Snap" in Windows 10. See below for details.
  • You can implement the workaround for a full solution if you really want to, but it's a lot of work since you'd literally need to make a program to do it. Details at the end of this post.

Background

I have a 6-monitor set up:

                Monitors
   Top row:  [#1] [#2] [#3]
Bottom row:  [#4] [#5] [#6]   (eye-level; #5 is main display)

Whenever I moved a window from one monitor to another, Windows 10 would check to see if I wanted to maximize it. This features, called "Snap", appears to be bugged because it frequently prevented me from moving a window from one display to another. I found this SuperUser question while frustrated about it.

Disabling Snap really helped me. This also automatically disabled Aero shake, which I consider to be a bonus.

Procedure

To disable "Snap" and "Aero shake":

  1. Go to:
    • "Control Panel"
    • --> "All Control Panel Items"
    • --> "Ease of Access Center"
    • --> "Make the mouse easier to use".
  2. Check "Prevent windows from being automatically arranged when moved to the edge of the screen".
  3. Click "OK" or "Apply".

Results

  • "Snap", which blocked moving windows from one screen to another, is now disabled. Windows can move freely.
  • "Aero shake", which causes all windows to minimize when one window is shaken, is now disabled.
  • "Sticky corners", which causes a similar problem but at just the corners (and not all boundaries), is still a problem. As best as I can tell, there is currently (2015-08-18) no way to disable Sticky Corners or further mitigate the problems it causes.

Workaround

There's a workaround for Sticky Corners, but it's not fun. The gist is that you make a WPF program that puts small black squares at the corner of each of your displays, then when the program detects mouse movement over those squares, it hops your mouse to the next screen as intended. Technically you'd probably want to adjust the shape of the "squares" to match whatever area Sticky Corners actually affects (probably an L-like shape?).

Basically:

  1. Download Visual Studio, e.g. Visual Studio 2015 Community.

  2. Make a WPF project.

  3. Have the WPF application make a Window on every page. For each Window:

    this.Topmost = true;
    this.AllowsTransparency = true;
    this.Background = Brushes.Transparent;
    this.WindowState = WindowStates.Maximized;
    Border border = new Border();
    this.Content = border;
    border.Background = Brushes.Transparent;
    border.BorderBrush = Brushes.Black;
    border.BorderThickness = new Thickness(5);
    border.MouseMove += HandleThisByMovingTheMouseToTheCorrectScreen();
    
  4. Write HandleThisByMovingTheMouseToTheCorrectScreen() to move the mouse to the appropriate location, thus avoiding Sticky Corners from trapping it.

  5. If you want to get fancy, instead of a Border, make a Grid with a separate Canvas for each corner (as opposed to the Border, which would also cover the edges that aren't corners on each screen).

8
  • What does this have to do with what I'm trying to achieve?
    – djv
    Aug 19, 2015 at 1:19
  • @Verdolino: It significantly relieved the problem that caused me to find this question, so I thought that it might help others in my position. I added a Workaround section detailing how to make a WPF program that'd fix the Sticky Corners issue, if you'd like to go that far. But it'd probably take an hour or two to write it.
    – Nat
    Aug 19, 2015 at 1:26
  • 1
    If it solves the problem. But you even said "Sticky corners", which causes a similar problem but at just the corners (and not all boundaries), is still a problem.
    – djv
    Aug 19, 2015 at 1:31
  • The "solution" I provided disables a "Sticky Edges"-like bug that I seemed to be encountering on Windows 10 Education x64. This problem affected all edges instead of just the corners. Once implemented, that problem goes away, but the more limited "Sticky Corners" problem remains. The work around program fixes the Sticky Corners problem by literally detecting whenever your mouse gets trapped by Sticky Corners and moving it programmatically to the next screen.
    – Nat
    Aug 19, 2015 at 1:34
  • 2
    I actually did write a program for this. Extremely Quick & Dirty, I even hard-coded my corner points - but it could be friendly if desired! I am only posting though to note the workaround above needs more work that the answer provides. If you just move the mouse to the next corner of the adjacent monitor the sticky corner picks that up too - you have to move it into the current monitor away from the corner (8 pixels does it) - then move it onto the next monitor. You also have to sleep the UI thread to stop Win10 re-grabbing it even after that -.- Nov 24, 2015 at 2:22
4

Edit on December 19, 2021: I'm now using the C# based app MouseUnSnag written by dale (shared above) and is now living here: https://github.com/MouseUnSnag/MouseUnSnag

It now features a system tray icon where you can enable/disable various features, including disabling sticky corners and preventing the mouse from getting stuck in the corners between monitors of varying resolutions.

MouseUnsnag Screenshot

Original answer below.


This also bugged me. I've taken a crack at implementing a solution in AutoHotkey which retains all the main "snap" features while allowing you to disable strictly the "sticking" of your mouse that happens in the corners between monitors.

Workaround:

https://github.com/patricknelson/win10-sticky-mouse

  1. Install AutoHotkey
  2. Download and run win10-sticky-mouse.ahk from the above repo.

The key here is to watch messages from WM_MOUSEMOVE and use that to predict where the mouse will be going, then hopping over (cross axis to the primary axis of movement) just enough to ensure Windows doesn't [un]helpfully catch your mouse.

If you're still having issues, please try giving this a shot and let me know if that helps. Any issues or pull requests are very welcome!

3
  • 1
    This works and isn't flagged as a virus by as many AVs. VirusTotal
    – mbomb007
    Sep 20, 2018 at 14:15
  • You can use the exe but I'd still recommend downloading AutoHotkey and loading the ahk script directly (just double clicking); just a safer habit as a general rule of thumb. Nov 12, 2018 at 21:54
  • I'm actually now using MouseUnSnag, originally written by dan above and now maintained at github.com/MouseUnSnag/MouseUnSnag. I've edited my answer above to reflect this change and it seems to work beautifully for OP's original issue. It is visible in the system tray and includes the option to enable/disable various features. Updates should be coming soon which include the ability to persist options as well. Dec 20, 2021 at 7:16
2

I am not sure if this has always been an option of if it has recently just been implemented but I found the solution by Going into
Settings > System > Multitasking
Then Shut Off Snap By Shutting off "Arrange Windows automatically by dragging them to the sides or conveners of the screen"

which will shut off all the Snap Settings
I found this setting from a tutorial on this site: https://www.tekrevue.com/tip/how-to-disable-snap-assist-windows-10/

Visual walk through:

Open Settings and Click on System

Open Settings and Click on System

Click on Multitasking and Shut off The First Snap Option

Click on Multitasking and Shut off The First Snap Option

2
  • 1
    The question is about corners where the mouse gets stuck, your answers is about arrange windows
    – xedo
    Apr 22, 2020 at 4:31
  • 1
    What? I posted this answer almost a year before it was just added to the top answer. So, yes, this is about the question. Apr 24, 2020 at 9:40
1

Try using the application Display Fusion. It takes care of the problem even in Windows 10. The setting you are looking for is under settings:Mouse Management: Prevent mouse cursor from sticking in Sticky Corners (Windows 10).

4
  • Where can we get this software?  Please do not respond in comments; edit your answer to make it clearer and more complete. Sep 19, 2017 at 3:57
  • Found it: displayfusion.com. As of now, it costs $35 for a household license, but does appear to solve the problem.
    – djv
    Sep 19, 2017 at 14:17
  • Tried this with DisplayFusion latest and it still does not fix the corner snag when the monitors are all the same resolution.
    – xofz
    Mar 5, 2020 at 1:19
  • 1
    @xofz I've been using DisplayFusion for years, though never the Mouse Management functions. I tested it for experimental sake, and it appears to work just fine with my two identical monitors side-by-side. If you've got a different orientation where it doesn't work, you might consider letting the Binary Fortress folks know. The poster did cite the wrong function, though. I've submitted an edit.
    – T.J.L.
    Jul 6, 2020 at 20:21
0

This issue seems to be present in Windows 10 when there is a gap between two displays in the 'Select and rearrange displays' config section. I was able to fix the issue by slightly moving the two displays towards each other so there is visually no gap between them.

Display Arrangement with gap

2
  • 2
    Not sure why the downvotes. This exact same thing happened to me after rewiring my monitors, which required rearrangement of my monitors in Windows. After this rearrangement (I have 4 monitors, 2x2) I noticed that my mouse would stick between just two monitors. I realigned the monitor layout in Windows and then the problem went away.
    – Matt Klein
    Jun 19, 2021 at 21:22
  • Same here. Just fixed my issue, which appeared out of nowhere. Was driving me crazy. Turns out I accidentally moved my upper monitor (I also have a 2h + 1v monitor setup) too far. If you stick them close enough, the "invisible wall" is gone (Windows 10). This answer should have more upvotes
    – kit
    May 5 at 18:55
-1

This was a Windows 8 feature called sticky corners (IIRC). Here's someone who claims to have disabled it with a registry change:

  1. In registry, search: MouseCornerClipLength
  2. Set the value to 0 (from 6)
  3. Repeat (there is more than one key with this name, I’m not sure which one(s) are necessary)
  4. Restart

Note that I'm not currently in a situation to try this out, so let me know if this doesn't solve your problem and I'll remove my answer.

3
  • I'm similarly not in that situation atm, but I will try it first thing when I get home. Thanks
    – djv
    Jul 30, 2015 at 21:15
  • 7
    Looked promising but it doesn't work in Windows 10. See my edit.
    – djv
    Jul 31, 2015 at 15:13
  • This answer looks like it belongs to this question that is the same one but for Win 8: superuser.com/questions/498576/… Feb 29, 2016 at 19:18
-2

I don't know if this will help others. But, I simply dragged the monitor numbers to move #1 to where #2 was and vice versa. It worked. And, so far (fingers crossed) it has not reverted to the mouse sticking problem. Good luck.

1
  • 1
    But then the monitors would be the wrong way around...? Mar 10, 2017 at 16:24
-2

Temporary fix. I returned to my Logitech wireless mouse. I'd been using a Minicute left hand mouse, but it gets stuck. So far, the Logitech M705 mouse does not. Logitech must have seen it coming.

Not the answer you're looking for? Browse other questions tagged or ask your own question.