X11 マルチポインタ、ポインタの競合

X11 マルチポインタ、ポインタの競合

GUI アプリケーションを自動化しながら PC を使い続けるために、xinput を使用してマシン上に 2 つのポインターを作成しました。1 つは私が制御し、もう 1 つは pyautogui で制御します。

私のシステムでは、これは次のように実行されます:

xinput create-master mynewpointer
xinput reattach 10 11

私はマスターポインタ11を使用します。pyautoguiはデフォルトのポインタ2を使用します。

しかし、ポインタはさまざまな方法で互いに競合し、互いの焦点を奪い合うことが大きな問題の 1 つです。

xinput --map-to-output または --set-cp を使用しても機能せず、ポインターが新しいウィンドウにフォーカスを移すと、ポインターはテスト対象のウィンドウ/モニターから「フリック」して戻ります。

これらのポインタを分離する方法はありますか?

答え1

代わりに、アプリケーション専用のX11サーバーを使用することもできます。これは、次のように実行するだけです。

Xnest :1 &

そして、DISPLAY=:1 でアプリケーションを実行します。ただし、実際のカーソルがウィンドウ内にない限りカーソルは表示されず、カーソルをウィンドウ内に移動すると Xnest カーソルも移動します。

もう 1 つの選択肢は、VNC サーバーを起動することです。これはもう少し独立しています。

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

ネストされたサーバーもありますXephyr。これは Xnest に似ていますが、基盤となるサーバーにはない多くの機能を追加しており、OpenGL のバージョンも存在します。

関連情報