/** * @file event_handling.js * @autour frtk@tetalab */ NPGClient.evtHandler = { keyState: {}, // init: function() { var self = this; // self.keyState = {}; for (k in NPGClient.KEYS) { self.keyState[NPGClient[k]] = false; } // document.addEventListener('keydown',function(e) { self.keyState[e.keyCode || e.which] = true; self.onKeyDown(e); }, true); // document.addEventListener('keyup',function(e){ self.keyState[e.keyCode || e.which] = false; }, true); }, // isValidKey: function(k) { return (k >= 48 && k <= 90); }, // onKeyDown: function(evt) { var self = this; if (evt.keyCode == NPGClient.KEYS.ESC) { //self.playerLogout(); // player logout } else if (evt.keyCode == NPGClient.KEYS.F1) { //self.sendToMenuPage(); // back to previous page } else { switch (NPGClient.PageHandler.currPage) { case NPGClient.LOGIN.NAME: self.userLogin(evt); break; default: break; } } }, /* * */ // userLogin : function (evt) { var self = this; // switch (evt.keyCode) { case NPGClient.KEYS.ENTER: if (NPGClient.SocketIO.isConnected) { if (NPGClient.userName.length != 0) { NPGClient.SocketIO.sendMsg('regRequest', NPGClient.userName); } } else { NPGClient.Utils.resetName(); NPGClient.PageHandler.getCurrPageUIElemByName('login_cursor').reset(); } break; case NPGClient.KEYS.BACKSPACE: //--- remove a character evt.preventDefault(); if (!NPGClient.Utils.nameEmpty()) { NPGClient.Utils.removeChar(); NPGClient.PageHandler.getCurrPageUIElemByName('login_cursor').translateX(-15); } break; default: //--- add character if (self.isValidKey(evt.keyCode) && !NPGClient.Utils.maxNameSize()) { NPGClient.Utils.addChar(evt.keyCode); newNameW = NPGClient.ui.ctx.measureText(NPGClient.userName).width; NPGClient.PageHandler.getCurrPageUIElemByName('login_cursor').translateX(15); } break; } } }