A patch for bug 21501 introduced a createdByDOM concept for events. We used to make very similar decisions for keyboard events based on the presence of platform event member in a DOM event. It's a platform event check that prevents DOM created keyboard events from being handled by default handlers (see KeyboardEvent::keyCode()).
It's unfortunate that this information is now duplicated for keyboard events, and that mouse events are checked in a different manner.
I'll fix this.
Maybe this is related to issue 26824?
I started looking into fixing this. It's not as easy as I would have hoped. I need to spend some more time with this in the debugger.