I have a DrawingArea which I would like to received mouse events. From the tutorials I have found that the KeyPressEvent will also catch mouse events. However for the following code the handler is never called.
static void Main ()
{
Application.Init ();
Gtk.Window w = new Gtk.Window ("");
DrawingArea a = new CairoGraphic ();
a.KeyPressEvent += KeyPressHandler;
w.Add(a);
w.Resize (500, 500);
w.DeleteEvent += close_window;
w.ShowAll ();
Application.Run ();
}
private static void KeyPressHandler(object sender, KeyPressEventArgs args)
{
Console.WriteLine("key press event");
}
I have tried a bunch of things from reading different forums and tutorials including:
Adding a EventBox to the windows and putting the DrawingArea in the event box and subscribing to the KeyPressEvent for the EventBox. (didn't work)
Calling AddEvents((int)Gdk.EventMask.AllEventsMask); on any and all widgets
I did find that subscribing to the Windows KeyPressEvent did give me keyboard events but not mouse click events.
All the relevant pages in the mono docs give me errors so I'm a bit stuck