Wenn du die Events nicht komplett in der Interrupt-Routine abarbeiten kannst, darfst du deinen User ganz einfach nicht ewig in seinem Unterprogramm bleiben lassen.
d.h. du mußt die die Position im Menu merken und wieder zurück ins main-programm. erst wenn der User irgendwas drückt, gehts du wieder ins Menu dorthin zurück.