3

openGL ゲーム/コンテンツ用に X11 内でマウス ラップを作成しようとしています。私が取ろうとしていたアプローチは、カーソルを非表示にし (これは問題なく実行できます)、マウスの位置をウィンドウの中央にロックし、マウスのデルタ位置を使用して動きを検出することです。ただし、フレームごとにマウスの位置を中央に戻す以外に、マウスの位置をロックする方法が見つかりません。

Windows ではこれは ClipCursor() で実行でき、OSX では CGWarpMouseCursorPosition を使用してマウス ラップを実行できます。XLib ライブラリ内に同様のものはありますか?

4

1 に答える 1

2

libSDLはほぼ正確にそれを行います。これのソース コードは、独自の実装の良い出発点になるかもしれません。あるいは、目標がクロスプラットフォームのフルスクリーン アプリケーションである場合は、SDL を直接使用するだけで、ここで車輪を再発明する必要がなくなる可能性があります。

X11 で問題となっているファイルはsrc/video/x11/SDL_x11mouse.cのようで、特にX11_WarpWMCursor.

于 2010-11-08T13:56:15.603 に答える