X11 Multi-Pointer, Zeigerkonflikte

X11 Multi-Pointer, Zeigerkonflikte

Beim Versuch, meinen PC weiterhin zu verwenden, während ich eine GUI-Anwendung automatisiere, habe ich mit xinput zwei Zeiger auf meinem Computer erstellt, von denen einer von mir und der andere von pyautogui gesteuert wird.

Auf meinem System geschieht dies durch:

xinput create-master mynewpointer
xinput reattach 10 11

Ich verwende den Masterzeiger 11. Pyautogui verwendet den Standardzeiger 2.

Allerdings stehen die Zeiger in verschiedener Hinsicht im Konflikt miteinander, und ein Hauptproblem besteht darin, dass sie sich gegenseitig die Aufmerksamkeit entziehen.

Auch wenn die Verwendung von xinput --map-to-output oder --set-cp nicht funktioniert, „schnellt“ der Zeiger dennoch vom getesteten Fenster/Monitor zurück, wenn mein Zeiger den Fokus auf einem neuen Fenster erhält.

Gibt es eine Möglichkeit, diese Zeiger zu trennen?

Antwort1

Vielleicht könnten Sie stattdessen einfach einen separaten dedizierten X11-Server für die Anwendung verwenden. Dies kann so einfach sein wie das Ausführen

Xnest :1 &

und führen Sie dann Ihre App unter DISPLAY=:1 aus. Der Cursor wird jedoch nur angezeigt, wenn sich der echte Cursor im Fenster befindet, und wenn Sie Ihren Cursor in das Fenster bewegen, wird der Xnest-Cursor bewegt.

Eine weitere Alternative besteht darin, einen VNC-Server zu starten. Dieser ist etwas unabhängiger.

vncserver :1 securitytypes=none -interface localhost
vncviewer :1

Es gibt auch den Xephyrverschachtelten Server, der Xnest ähnelt, aber viele Funktionen hinzufügt, die der zugrunde liegende Server möglicherweise nicht hat, und der auch in einer Version mit OpenGL existiert.

verwandte Informationen