Add: ESC key back(), Enter key start/restart to all features
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user