diff --git a/lib/keyboard.js b/lib/keyboard.js index ee28c04..58009d9 100755 --- a/lib/keyboard.js +++ b/lib/keyboard.js @@ -40,11 +40,16 @@ function toKeyName(code){ // chars... k = String.fromCharCode(code) if(k != ''){ - return k.toLowerCase() + //return k.toLowerCase() + return k } return null } +function chr(c){ + return c.charCodeAt(0) +} + // if set to false the event handlers will always return false... var KEYBOARD_HANDLER_PROPAGATE = true @@ -89,6 +94,7 @@ function makeKeyboardHandler(keybindings, unhandled){ var bindings = keybindings[mode] var key = evt.keyCode + var chr = toKeyName(evt.keyCode) if(bindings.ignore == '*' || bindings.ignore != null && bindings.ignore.indexOf(key) != -1){ // return true @@ -101,7 +107,11 @@ function makeKeyboardHandler(keybindings, unhandled){ modifers += evt.altKey ? (modifers != '' ? '+alt' : 'alt') : '' modifers += evt.shiftKey ? (modifers != '' ? '+shift' : 'shift') : '' - var handler = bindings[key] + if(chr in bindings){ + var handler = bindings[chr] + } else { + var handler = bindings[key] + } // alias... while (typeof(handler) == typeof(123)) {