Gdk.Window.AddFilter(Gdk.FilterFunc)
Monoを使用してイベントをインターセプトしようとしています。これまでのところ、フィルター関数をフックすることができましたが、フィルター関数でイベントを使用しようとしています。
これは、これまでのフィルター関数にあるものです。
private Gdk.FilterReturn FilterFunction(IntPtr xEvent, Gdk.Event evnt)
{
if (evnt.Type == Gdk.EventType.KeyPress)
{
Gdk.EventKey eventKey = (Gdk.EventKey)evnt; // fails here
if (eventKey.Key == this.key && eventKey.State == this.modifiers)
{
this.OnPressed(EventArgs.Empty);
}
}
return Gdk.FilterReturn.Continue;
}
Gdk.Event
を に変換するにはどうすればよいGdk.EventKey
ですか? キャストしてみましたが、うまくいかないようです。
編集:おっと!問題は、ステートメントに誤ってセミコロンを追加しif
てしまい、空のステートメントになってしまったことです。何らかの理由で、Gdk.Event
は に対応していないため、代わりにXEvent
を使用するソリューションを現在追求していXEvent
ます。