Hi Mike, button.exe does not work because gdk calls our callback: boolObjectEventAnyCallback(IntPtr arg0, Gdk.EventAny arg1, int key) with a correct Gdk.EventAny struct, but the managed code assumes: [StructLayout(LayoutKind.Sequential)] public struct EventAny { } so this does not correspond. We first need an exact definition of EventAny before this can work. - Dietmar