X11 multi-pointer, конфликты указателей

X11 multi-pointer, конфликты указателей

В попытке продолжить использование своего ПК и одновременно автоматизировать приложение с графическим интерфейсом я создал на своей машине два указателя с помощью xinput, один из которых управляется мной, а другой — pyautogui.

В моей системе это делается так:

xinput create-master mynewpointer
xinput reattach 10 11

Я использую главный указатель 11 pyautogui использует указатель по умолчанию 2

Однако указатели конфликтуют друг с другом по-разному, и одной из основных проблем является отвлечение внимания друг от друга.

Даже использование xinput --map-to-output или --set-cp не работает, указатель все равно «перескакивает» с тестируемого окна/монитора, когда мой указатель захватывает фокус на новом окне.

Можно ли как-то разделить эти указатели?

решение1

Возможно, вместо этого вы могли бы просто использовать отдельный выделенный сервер X11 для приложения. Это может быть так же просто, как запуск

Xnest :1 &

и затем запустить ваше приложение под DISPLAY=: 1. Однако курсор не отображается, если реальный курсор не находится в окне, а перемещение курсора в окно приведет к перемещению курсора Xnest.

Другой альтернативой является запуск VNC-сервера. Это немного более независимо.

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

Существует также Xephyrвложенный сервер, который похож на Xnest, но добавляет множество функций, которых может не быть у базового сервера, а также существует в версии с OpenGL.

Связанный контент