私は使う範囲X11プロトコルを監視します。私はSwingとMPXのいくつかの焦点問題を解決しようとしているので、X11プロトコルを監視します。フォーカスエラーが発生した場合は、次のパケットが送信されることを確認しました。このメッセージから結論を導き出す方法は?まだ何が間違っているのかわかりません。どんなアイデアがありますか?
614.21: 32 bytes <-- X11 Server
Read from fd 8
a1 20 c2
0b 07 00 c0 00 68 01 00 00 71 01 00 00 21 9f 6a 01 00 00 00 00 00 00 00 00 00
00 00 00 Event (fd 8): a1 20 c2
0b 07 00 c0 00 68 01 00 00 71 01 00 00 21 9f 6a 01 00 00 00 00 00 00 00 00 00
00 00 00
..............EVENT: **INVALID** (161)
format: 20
sequence number: 0bc2
window: WIN 00c00007
type: ATM 00000168 <WM_PROTOCOLS>
data: 71 01 00 00 21 9f
: 6a 01 00 00 00 00
: 00 00 00 00 00 00
: 00 00
Have 0 need 32
=====編集=====
クライアント(私のアプリケーション)とウィンドウマネージャの間にバグがあるようです。あるのでそう思います<WM_PROTOCOLS>
。
ベストアンサー1
xscope 1.4以前では、SendEventリクエストを介して他のクライアントから送信されたイベントのINVALID出力を印刷するバグがあり、これによりイベントIDの8番目のビットが送信されました。これは実際にはClientMessage
イベントです(161 - 128 = 33、イベントコードClientMessage
)。