Question

The following code does not trigger the KeyPress event when the user presses a key...

public class FooWidget : DrawingArea {

    public FooWidget () {
        this.AddEvents ((int)Gdk.EventMask.KeyPressMask);
    }

    [GLib.ConnectBefore]
    protected override bool OnKeyPressEvent (Gdk.EventKey evnt) {
        Console.WriteLine (evnt);
        return base.OnKeyPressEvent (evnt);
    }

}

What is going wrong?

Was it helpful?

Solution

Found it myself:

You need to be able to focus on the Widget:

this.CanFocus = true;
this.Focus();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top