How to make the mouse wrap from corners when moving between monitors?

I have 2 monitors. The main one is horizontal, the secondary one is vertical.

enter image description here

When moving from the right to the left monitor, if the mouse hits the areas I've shown in red, it gets stuck. I would like to change this behavior.

Whenever the mouse hits any part of the tall monitor's left edge, it should be wrapped to the wide monitor's right edge. I don't particularly care where on the edge it gets wrapped: It's fine if it's just the closest point like I've shown in the image (dashed line is the wrap/teleport).

How can I do this?


Solution 1:

With Windows display properties this is not possible.

It is made to 'fit' your monitor layout so within display properties you can drag the monitors up and down, etc so that it feels natural to your setup.

For example if the bottom monitor of your left monitor is in line with the bottom of the right monitor then you should drag it down in windows to reflect this, etc.

Not much of an answer but unless a third party can do this Windows cannot.

Solution 2:

Since there was not a "free" answer to this question, 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.

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

MouseUnSnag also addresses the "sticky corners" problem, asked in this related superuser post:

  • How to disable sticky corners in Windows 10

Solution 3:

DisplayFusion has an option on the Settings > Window Management tab, called "Prevent mouse cursor from snagging on unaligned monitor edges" that fixes this issue up.

Disclosure: I do support and testing at Binary Fortress Software (makers of DisplayFusion) :)