Headaches with loaded swfs and keypresses

Headache 1:
I’ve been asked to create a swf wrapper which loads other swf games. The games employ keypresses to control actions like characters moving around. The games are third party, so there’s no access to the .fla or .as files; we’ve just got the swfs.

The keypresses work fine on their own, but when the games are loaded into the wrapper, the keypress functionality dies. I’m assuming this is because the keyboard listeners are assigned to the stage in each game, and when the game is loaded, the “stage” becomes the stage of the wrapper, not the game.

Is there a way to make the keypresses in the loaded swfs work, without being able to change the code within the loaded swfs?

Headache 2:
The client would like to have buttons which can duplicate the keyboard actions within the loaded swfs. Doing it in the same swf’s no problem:


var k:KeyboardEvent = new KeyboardEvent( KeyboardEvent.KEY_DOWN, true, false, 0, keyCode );

function someButtonAction(e:MouseEvent):void{
        dispatch(k);
}

But how would I reference the keyboard event when the event is in the loaded swf?

Any advice would be HUGELY appreciated. :puzzle: