Примерно так

Код AS3:
package {
import flash.display.InteractiveObject;
import flash.display.Sprite;
import flash.events.KeyboardEvent;
import flash.utils.Dictionary;
/**
* @author gloomyBrain
*/
public class Main extends Sprite {
private const _buttons:Vector.<InteractiveObject> = Vector.<InteractiveObject>([
myButton_1,
myButton_2,
myButton_3, // тут просто список кнопок
myButton_4,
myButton_5
]);
// это текщая выбранная кнопка
private var _selectedButton:InteractiveObject = null;
// это словарь соответсвий между кнопками и вызываемыми действиями
private const _handlers:Dictionary = new Dictionary();
public function Main() {
// задаем соответствия кнопка - функция
_handlers[myButton_1] = myFunction_1;
_handlers[myButton_2] = myFunction_2;
_handlers[myButton_3] = myFunction_3;
_handlers[myButton_4] = myFunction_4;
_handlers[myButton_5] = myFunction_5;
// добавляем всем кнопкам слушатели клавиатуры
var len:int = _buttons.length;
while (len--) {
_buttons[len].addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
}
}
private function onKeyDown(event:KeyboardEvent):void {
switch (event.keyCode) {
case 37:
// выбираем следующую кнопку
this.focusNext(true);
break;
case 37:
// выбираем предыдущую кнопку
this.focusNext(false);
break;
case 13:
// ищем в словаре действие для данной кнопки
var handler:Function = _handlers[event.currentTarget];
if (!handler) return;
// выполняем действие, если нашли
handler.call();
break;
}
}
/**
* Выделить следующую кнопку
*
* @param forward true, если двигаемся вперед, false если назад
*/
public function focusNext(forward:Boolean = true):InteractiveObject {
// если сейчас никто не выбран, то будет выбрана первая кнопка
// этот метод можно вызывать извне
if (!_selectedButton) {
_selectedButton = _buttons[0];
}else {
// получаем индекс следующей кнопки (в зависимости от направления движения)
var index:int = _buttons.indexOf(_selectedButton);
index += (int(forward) * 2) - 1; // -1 или +1
if (index === _buttons.length) {
index = 0;
}else if (index < 0) {
index = _buttons.length - 1;
}
// выбираем нужную кнопку
_selectedButton = _buttons[index];
}
super.stage.focus(_selectedButton);
return _selectedButton;
}
private function myFunction_1():void {
// обработчик кнопки 1
}
private function myFunction_2():void {
// обработчик кнопки 2
}
private function myFunction_3():void {
// обработчик кнопки 3
}
private function myFunction_4():void {
// обработчик кнопки 4
}
private function myFunction_5():void {
// обработчик кнопки 5
}
}
}