The attached patch takes out a test
if Widget^.has_focus then
in function Gtk3WidgetEvent(). Then an OnKeyDown handler is called twice.
Strangely enough, debugger shows the following line
Result := TGtk3Widget(Data).GtkEventKey(Widget, Event, True);
is called at least sometimes even when the Widget^.has_focus test is there.
The message is delivered somewhere but not to the form.
GTK3 experts, do you know what is going on?