|
|
@@ -1,69 +0,0 @@ |
|
|
|
мир.ввод = { |
|
|
|
клавиши: {}, |
|
|
|
задано: {}, |
|
|
|
}; |
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
мир.ключники.push(function(ключ, путь, значение){ |
|
|
|
if (!ключ.startsWith("ввод")) |
|
|
|
{ |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
var номер = путь[1]; |
|
|
|
|
|
|
|
if (!(номер in мир.ввод.задано)) |
|
|
|
{ |
|
|
|
мир.ввод.задано[номер] = {}; |
|
|
|
} |
|
|
|
|
|
|
|
var свойство = путь.slice(2).join("."); |
|
|
|
мир.ввод.задано[номер][свойство] = значение; |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
window.addEventListener("keydown", function(o) { |
|
|
|
мир.ввод.обработатьКлавишу(o.key, true); |
|
|
|
}); |
|
|
|
window.addEventListener("keyup", function(o) { |
|
|
|
мир.ввод.обработатьКлавишу(o.key, false); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
мир.ввод.обработатьКлавишу = function(клавиша, нажата) |
|
|
|
{ |
|
|
|
// Исключаем повторы. |
|
|
|
if (мир.ввод.клавиши[клавиша] == нажата) |
|
|
|
{ |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
мир.ввод.клавиши[клавиша] = нажата; |
|
|
|
|
|
|
|
for (var номер in мир.ввод.задано) |
|
|
|
{ |
|
|
|
var задано = мир.ввод.задано[номер]; |
|
|
|
var клавиши = []; |
|
|
|
for (var элемент in задано) |
|
|
|
{ |
|
|
|
if (элемент.startsWith("клавиши")) |
|
|
|
{ |
|
|
|
клавиши.push(задано[элемент]); |
|
|
|
} |
|
|
|
} |
|
|
|
if ( |
|
|
|
клавиши.includes(клавиша) && |
|
|
|
задано.действие |
|
|
|
) { |
|
|
|
мир.действия.исполнить(задано.действие); |
|
|
|
} |
|
|
|
} |
|
|
|
}; |