Multiponteiro X11, conflitos de ponteiro

Multiponteiro X11, conflitos de ponteiro

Na tentativa de continuar usando meu PC enquanto automatiza uma aplicação GUI, criei 2 ponteiros em minha máquina usando xinput, um sendo controlado por mim e o outro por pyautogui.

no meu sistema isso é feito por:

xinput create-master mynewpointer
xinput reattach 10 11

Eu uso o ponteiro mestre 11 pyautogui usa o ponteiro padrão 2

No entanto, os ponteiros entram em conflito entre si de várias maneiras, sendo o desvio do foco um dos outros um dos principais problemas.

Mesmo usando xinput --map-to-output ou --set-cp não funciona, o ponteiro ainda "volta" da janela/monitor que está sendo testado quando meu ponteiro foca em uma nova janela.

Existe alguma maneira de separar esses ponteiros?

Responder1

Talvez, em vez disso, você possa usar um servidor X11 dedicado separado para o aplicativo. Isso pode ser tão simples quanto executar

Xnest :1 &

e, em seguida, execute seu aplicativo em DISPLAY=:1. No entanto, o cursor não é mostrado a menos que o cursor real esteja na janela, e mover o cursor para dentro da janela moverá o cursor Xnest.

Outra alternativa é iniciar um servidor VNC. Isso é um pouco mais independente.

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

Há também o Xephyrservidor aninhado, que é como o Xnest, mas adiciona muitos recursos que o servidor subjacente pode não ter, e também existe em uma versão com OpenGL.

informação relacionada