2

ゲーム プロジェクトで Linux ベースの I/O 検証ツールに取り組んでいます。これは C++ で書かれており、ゲームと同じ I/O モジュールを使用しているため、OIS 1.2 に基づいています。したがって、必要なのはユーザーの入力をコンソールに表示することだけですが、それでも OIS 用のウィンドウを作成する必要があります。

ここで私の質問があります: まだ表示されておらず、キーボード イベントを処理している間に、マップされたウィンドウを作成するにはどうすればよいですか?

キーボードイベントを処理しなくなるため、ウィンドウのマップを解除することはできません。ウィンドウの表示/非表示の機能も見つかりません。

私の小さなツールは、キーボードイベントを処理するためにフォーカスする必要がある愚かなトップレベルの空のウィンドウがあることを除いて、今では正常に動作します...

どんなアドバイスでも大歓迎です。

ありがとう!!!

4

1 に答える 1

2

Linux/X11 input library without creating a window という投稿を読んだ後、自分の問題は X11 の哲学を誤解していることだと気付きました。ルート ウィンドウ ハンドルを OIS に渡し、x11_grabkeyboard フラグを true に設定するだけです。唯一の欠点は、キーボードがつかまれているため、gdb でプログラムをほとんどデバッグできないことです...

私の状況は解決しましたが、残っていることが1つあります。

私が読んだすべての記事は、InputOnly ウィンドウは表示されず、入力イベントを処理できると述べていましたが、私の InputOnly ウィンドウは、マッピング後に完全に表示されます...

多分それは私のLinuxなのか、それとも誤解なのか...

于 2010-08-15T17:56:53.313 に答える