Keyboard event and enter frame timing

Which happens first? And is it consistent?

e.g. if I do something like this (dodgy pseudo code):


addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
addEventListener(Event.ENTER_FRAME, onEnterFrame);

function onKeyDown() { mc.x = 100; }
function onEnterFrame() { mc.x = 200; }
 

then (even when madly pressing the keyboard) the mc always appears to have an x position of 200, i.e. the ENTER_FRAME event is getting called after any KEY_DOWN events within any given frame.

Is there a consistent rule for this? Can I always rely on the ENTER_FRAME code getting run after any keyboard event code (within a single frame)?