А к чему все эти пляски с какими-то непонятными атрибутами?
var keyCodes = {
112 : 'F1',
113 : 'F2',
..
}
var buttonKeys = {
'Вперед' : 'F1',
'Назад' : 'F2',
..
}
// сопоставляет клавиши (F1, F2, ..) элементам
var keyMap = {};
var buttons = document.getElementsByTagName('input');
for (var i = 0, button; button = buttons[i]; i++) {
if (button.value in buttonKeys) {
// меняем надпись ..
// {'F1': this, ..}
keyMap[ buttonKeys[button.value] ] = this;
}
}
document.onkeydown = function(e) {
var key = keyCodes[e.keyCode];
if (key in keyMap) {
var target = keyMap[key];
target.click();
}
}
Кстати, события из фрейма не всплывают в родительский документ, если что.