Add: ESC key back(), Enter key start/restart to all features

This commit is contained in:
2018-10-14 09:13:11 +09:00
parent 18150fc332
commit 99e99b3c80
23 changed files with 218 additions and 55 deletions
+45 -1
View File
@@ -2,6 +2,8 @@ function Keyboard(keyMapper, language, offsetY) {
this.keyMapper = keyMapper;
this.language = language;
this.keyHandlerMapper = {};
this.keyIndex = 0;
this.keyDataList = [];
this.keyList = [];
@@ -44,6 +46,20 @@ function Keyboard(keyMapper, language, offsetY) {
}
}
Keyboard.prototype.addCallback = function(keyCode, keyDownHandler, keyUpHandler, callerClassName) {
if(this.keyHandlerMapper[keyCode] != undefined) {
this.keyHandlerMapper[keyCode] = null;
}
this.keyHandlerMapper[keyCode] = {
"keyDownHandler": keyDownHandler,
"keyUpHandler": keyUpHandler,
"callerClassName": callerClassName
}
// console.log(this.keyHandlerMapper);
}
Keyboard.prototype.hideHighlight = function(text) {
var keyID = this.keyMapper.getKeyIDOfText(text);
this.allKeyHash[keyID].hideHighlight();
@@ -76,13 +92,27 @@ Keyboard.prototype.getKey = function(keyID) {
Keyboard.prototype.keyDown = function(char) {
var keyCode = char.code;
this.setPressedSprite(keyCode);
if(this.keyHandlerMapper[char.keyCode] == undefined) {
// console.log(keyCode + " is down but not registered to KeyMapper");
return;
}
var keyMapper = this.keyHandlerMapper[char.keyCode];
var keyDownHandler = keyMapper["keyDownHandler"];
if(keyDownHandler == undefined)
return;
if(isDebugMode())
console.log(keyCode + " key is down (" + keyMapper["callerClassName"] + ")");
keyDownHandler();
}
Keyboard.prototype.setPressedSprite = function(keyCode) {
var keyID = this.keyMapper.getKeyIDOfText(keyCode);
var key = this.allKeyHash[keyID];
if(key === undefined) {
console.log(keyCode+ " is pressed but not registered to KeyMapper");
console.log(keyCode + " is pressed but not registered to KeyMapper");
return;
}
@@ -101,6 +131,20 @@ Keyboard.prototype.setPressedSprite = function(keyCode) {
Keyboard.prototype.keyUp = function(char) {
var keyCode = char.code;
this.setNormalSprite(keyCode);
if(this.keyHandlerMapper[char.keyCode] == undefined) {
// console.log(keyCode + " is up but not registered to KeyMapper");
return;
}
var keyMapper = this.keyHandlerMapper[char.keyCode];
var keyUpHandler = keyMapper["keyUpHandler"];
if(keyUpHandler == undefined)
return;
if(isDebugMode())
console.log(keyCode + " key is up (" + keyMapper["callerClassName"] + ")");
keyUpHandler();
}
Keyboard.prototype.setNormalSprite = function(keyCode) {