There is a comment in WebKitWebView.h: gboolean (* context_menu) (WebKitWebView *web_view, WebKitContextMenu *context_menu, void *event, /* FIXME: Use a wpe thing here. I'm not sure we want to expose libwpe in the API. */ WebKitHitTestResult *hit_test_result); which indicates hesitation to expose libwpe types in the public API, a worthy goal since that results in the function being non-introspectable. Sadly, struct wpe_input_keyboard_event is actually exposed in two places in WebKitInputMethodContext.