How to make mouse jump from one screen's border to another screen in a Windows PC with multidisplays?

My laptop, running Windows 7 Pro, is connected to a docking station with 3 monitors.

The screens' disposition is something like that :

enter image description here

  • Monitor 1 is 1366x768 (laptop)
  • Monitor 2 is 1920x1280
  • Monitor 3 is 1080x1920
  • Monitor 4 is 1080x1920

The question is

How can I make my mouse go directly from monitor 1 to monitor 4 or 3, without going through monitor 2 ?

I have some solutions by using shortcuts or mouse buttons, but I would like a total transparent solution.

Some programs are near to what I am looking for, but doesn't handle this specific configuration :

  • http://www.door2windows.com/unlimited-mouse-dont-let-your-screens-border-stop-your-mouse-cursor/ (No multimonitor support)
  • Actual Multiple Monitors, multiple monitor supports, ability to go from right side of monitor 3 to left side monitor 4. But stuck in monitor 1.

Maybe an AHK script will help ? Any other hints ?

Thanks !

Regards,

Edit: replace schema with screen capture.


Solution 1:

Thanks to @joseppinilla and this script, I wrote this little AHK script which resolves my problem :

#Persistent
CoordMode, Mouse, Screen
SetTimer, Cursor, 100
Return

Cursor:
  MouseGetPos, XPos, YPos
  If (YPos > 1200) {
        ; From 1 to 4
        If (XPos <= 281)  and (XPos > -1) 
        {
            XPos = -4
        }
        ; From 4 to 1
        If (XPos >= -3) and (XPos < 279)
        {
            XPos = 282
        }
        ; From 3 to 1

        If (XPos <= 1922) and (XPos > 1644)
        {
            XPos = 1641
        }
        ; From 1 to 3
        If (XPos >= 1642)  and (XPos < 1920)
        {
            XPos = 1923
        }


        MouseGetPos, nXPos, nYPos
        ;From 1 to 4
        If (nXpos <= 280) and (nXPos >-1) or
        ; From 4 to 1
        (nXPos >= -2)  and (nXPos < 279) or
        ; From 3 to 1
        (nXPos <= 1921) and (nXPos > 1644) or
        ; From 1 to 3
        (nXPos >= 1643)  and (nXPos < 1920)
        {
            MouseMove, %XPos%, %YPos%, 0  
        }
    }
Return 

Some details to understand this tiny script :

  • 1200 is the Y position of the top of my Monitor 1
  • -1 is the X Position of the Right of my Monitor 4
  • 279 is the X position of the Left of my monitor 1
  • 1644 is the X position of the right of my monitor 1
  • 1920 is the X position of the left of my monitor 3