Another idea would be to use the arrow keys, something like

while(menu.visible) {
on_a = my_down_function;
on_w = my_up_function;

wait(1);
}

This way, the "w" key moves cursor up, and the "a" key moves it down, you need to make the functions "my_down_function" and "my_up_function", and maybe use panels for the menu button, this way you can dynamically change the BMAP.

Just an idea.

Good luck!