Based on your code snippet, it looks like you are working from the videoplayer example, in which case, the preShowPosterScreen function does not display a screen, it builds a screen and returns it. There is then another function called showPosterScreen that takes that screen as an argument, displays it, and handles any events it generates. You have introduced an event loop into preShowPosterScreen. This loop will never catch any events and your code will never reach showPosterScreen.
And you can organize your code into whatever file structure makes the most sense to you.