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!