Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function() {
- var Keyboard;
- window.Game = window.Game || {};
- window.Keyboard = window.Game.Keyboard = Keyboard = {};
- var keyMap = {
- 27: "ESC", 32: "SPACE",
- 37: "LEFT", 38: "UP", 39: "RIGHT", 40: "DOWN",
- 65: "A", 66: "B", 67: "C", 68: "D", 69: "E",
- 70: "F", 71: "G", 72: "H", 73: "I", 74: "J",
- 75: "K", 76: "L", 77: "M", 78: "N", 79: "O",
- 80: "P", 81: "Q", 82: "R", 83: "S", 84: "T",
- 85: "U", 86: "V", 87: "W", 88: "X", 89: "Y", 90: "Z",
- };
- // TODO: probably should use hasOwnProperty
- for (i in keyMap) {
- Keyboard[keyMap[i]] = {
- down: false,
- up: true,
- pressed: false,
- };
- }
- Keyboard.init = function() {
- document.addEventListener("keydown", Keyboard.onKeyDown);
- document.addEventListener("keyup", Keyboard.onKeyUp);
- };
- Keyboard.onKeyDown = function(e) {
- var keyName = keyMap[e.keyCode];
- var key = Keyboard[keyName];
- if (!key) return;
- if (!key.down) {
- key.pressed = true;
- }
- key.down = true;
- key.up = false;
- };
- Keyboard.onKeyUp = function(e) {
- var keyName = keyMap[e.keyCode];
- var key = Keyboard[keyName];
- if (!key) return;
- key.down = false;
- key.pressed = false;
- key.up = true;
- };
- Keyboard.update = function() {
- for (i in keyMap) {
- Keyboard[keyMap[i]].pressed = false;
- }
- };
- }());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement