Every native event has to go through jQuery.event.fix() to copy and normalize properties that go into the jQuery.Event object passed to handlers. There is a tension between minimizing the number of items copied for performance reasons versus making more of them available directly so that users won't be forced to get them via event.originalEvent.
See further discussion in gh-2860 and gh-1746.