Jak sprawić, by mysz przeskakiwała z krawędzi jednego ekranu na inny ekran w komputerze z systemem Windows z wieloma ekranami?

7

Mój laptop z systemem Windows 7 Pro jest podłączony do stacji dokującej z 3 monitorami.

Rozmieszczenie ekranów jest mniej więcej takie:

wprowadź opis zdjęcia tutaj

  • Monitor 1 to 1366 x 768 (laptop)
  • Monitor 2 ma rozdzielczość 1920 x 1280
  • Monitor 3 ma rozdzielczość 1080x1920
  • Monitor 4 ma rozdzielczość 1080x1920

Pytanie brzmi

Jak zmusić mysz do przejścia bezpośrednio z monitora 1 na monitor 4 lub 3, bez przechodzenia przez monitor 2?

Mam kilka rozwiązań za pomocą skrótów lub przycisków myszy, ale chciałbym całkowicie przejrzyste rozwiązanie.

Niektóre programy są zbliżone do tego, czego szukam, ale nie obsługuje tej konkretnej konfiguracji:

Może skrypt AHK pomoże? Wszelkie inne wskazówki?

Dzięki !

Pozdrowienia,

Edycja: zamień schemat na zrzut ekranu.

mperryna
źródło

Odpowiedzi:

3

Dzięki @joseppinilla i temu skryptowi napisałem ten mały skrypt AHK, który rozwiązuje mój 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 

Kilka szczegółów pozwalających zrozumieć ten mały skrypt:

  • 1200 to pozycja Y na górze mojego monitora 1
  • -1 jest pozycją X prawej strony mojego monitora 4
  • 279 to pozycja X po lewej stronie mojego monitora 1
  • 1644 to pozycja X prawej strony mojego monitora 1
  • 1920 to pozycja X po lewej stronie mojego monitora 3
mperryna
źródło
0

Czy twój system operacyjny lub sterownik karty graficznej rozpoznaje te trzy ekrany natywnie? ponieważ jeśli tak, powinieneś być w stanie po prostu przeciągnąć i zlokalizować każdy ekran zgodnie z ustawieniami w tej samej karcie lub oknie, w którym wybierasz główny ekran.

Edycja: Powinieneś wypróbować niektóre opakowania myszy. Znam tych dwóch ... ale spróbuj innych i daj nam znać, jeśli znajdziesz taki, który działa.

Opakowanie myszy

QDWares

joseppinilla
źródło
4
Właśnie zastępuję schemat zrzutem ekranu. Jak widać, mój system operacyjny rozpoznaje wszystkie 4 ekrany i są one ustawione zgodnie z moją fizyczną konfiguracją. Jednak ekran (1) mojego laptopa ma rozmiar 1366 pikseli, a mój ekran główny (2) ma rozmiar 1920 pikseli. Jeśli ustawię screen (1) w pobliżu screena (4), nie będę w stanie rozwiązać mojego problemu podczas próby dostępu do screena (3) z screena (1).
mperrin
Wielkie dzięki za przydatną odpowiedź. Szukając „Mouse Wrapper”, znalazłem ten skrypt AHK, który bardzo pomógł mi w napisaniu poniższego kodu.
mperrin