1

Xlib を使用してマウス カーソルを制御する小さなプログラムを作成しています。マルチディスプレイ構成でその場所を任意に設定する必要があります。OS は Linux で、xinerama モードが有効になっています。

以下のコードを使用すると、ポインターが期待どおりに機能しません。

xdisplay1 = XOpenDisplay(NULL);

root = DefaultRootWindow(xdisplay1);

XWarpPointer(xdisplay1,None,root,0,0,0,x,y);

XFlush(xdisplay1);

マウスデバイスを「手動でシェイク」しない限り、イベントは通常フラッシュされません。さらに、別のモニターにワープしない場合にのみ機能します。これが発生すると、ポインターはワープの対応するエッジでスタックします。

この動作により、問題はマルチディスプレイ構成に関連していると考えられました。すぐに解決する方法を知っている人はいますか?

ありがとう!

4

1 に答える 1

0

それは最も美しい解決策ではありませんが、呼び出します

  XDefineCursor(display,root_window,XCreateFontCursor(display, XC_circle)); 

回避策のようです。

于 2012-06-06T15:04:09.357 に答える