Aktuell habe ich ein temporäres Setup mit zwei Monitoren an meinem PC. Dabei nervt es mich, dass man so lange Strecken mit dem Cursor zurücklegen muss.

Doch es gibt eine einfache Möglichkeit, da etwas zu automatisieren.

Mit dem Tool xdotool kann man sowohl die aktuellen Koordinaten des Cursors abfragen, als auch den Cursor an eine definierte Position schubsen.

Dass man das mit xdotool machen kann, habe ich dank eines Scripts erfahren, siehe hier. Dieses schubst den Cursor jedoch immer in die Mitte des jeweils anderen Monitors.

In meinem Setup haben beide Monitore die selbe Auflösung und stehen nebeneinander, deshalb konnte ich das Script stark vereinfachen. Bei anderen Setups müsste man anders rechnen.

#!/bin/bash
S1Width=1920

eval $(xdotool getmouselocation --shell)

# Ich will nur X verändern, also die "Breite" und Y (die "Höhe") unangetastet lassen.
if (( $X > $S1Width ))
then
    xdotool mousemove $((X - S1Width)) $Y
else
    xdotool mousemove $((X + S1Width)) $Y
fi

Im Ergebnis wechselt der Cursor beim Ausführen des Scripts immer auf den jeweils anderen Bildschirm, behält die relative Position aber bei. Ist der Cursor also z. B. rechts unten auf Monitor 2, so landet er beim Ausführen des Scripts rechts unten auf Monitor 1. Da ich KDE so eingestellt habe, dass der Fokus dem Cursor folgt, konnte ich auch den Teil entfernen, der das Fenster unter dem Cursor fokussiert.

Jetzt fehlt nur noch die Möglichkeit, das Script per Tastenkombination auszuführen. In KDE/Plasma kann man das in den System Settings im Bereich “Shortcuts” machen und dort auf “Add Command…” klicken und den Pfad des zuvor ausführbar gemachten Scripts eintragen: