Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (typeof (KeyEvent) != 'undefined') {
- if (typeof (KeyEvent.VK_LEFT) != 'undefined') {
- var VK_LEFT = KeyEvent.VK_LEFT;
- var VK_UP = KeyEvent.VK_UP;
- var VK_RIGHT = KeyEvent.VK_RIGHT;
- var VK_DOWN = KeyEvent.VK_DOWN;
- }
- if (typeof (KeyEvent.VK_ENTER) != 'undefined') {
- var VK_ENTER = KeyEvent.VK_ENTER;
- }
- if (typeof (KeyEvent.VK_RED) != 'undefined') {
- var VK_RED = KeyEvent.VK_RED;
- var VK_GREEN = KeyEvent.VK_GREEN;
- var VK_YELLOW = KeyEvent.VK_YELLOW;
- var VK_BLUE = KeyEvent.VK_BLUE;
- }
- if (typeof (KeyEvent.VK_PLAY) != 'undefined') {
- var VK_PLAY = KeyEvent.VK_PLAY;
- var VK_PAUSE = KeyEvent.VK_PAUSE;
- var VK_STOP = KeyEvent.VK_STOP;
- var VK_REWIND = KeyEvent.VK_REWIND;
- var VK_FAST_FWD = KeyEvent.VK_FAST_FWD;
- }
- if (typeof (KeyEvent.VK_BACK) != 'undefined') {
- var VK_BACK = KeyEvent.VK_BACK;
- }
- if (typeof (KeyEvent.VK_0) != 'undefined') {
- var VK_0 = KeyEvent.VK_0;
- var VK_1 = KeyEvent.VK_1;
- var VK_2 = KeyEvent.VK_2;
- var VK_3 = KeyEvent.VK_3;
- var VK_4 = KeyEvent.VK_4;
- var VK_5 = KeyEvent.VK_5;
- var VK_6 = KeyEvent.VK_6;
- var VK_7 = KeyEvent.VK_7;
- var VK_8 = KeyEvent.VK_8;
- var VK_9 = KeyEvent.VK_9;
- }
- if (typeof (KeyEvent.VK_INFO) != 'undefined') {
- var VK_INFO = KeyEvent.VK_INFO;
- var VK_INFO1 = KeyEvent.VK_INFO;
- }
- if (typeof (KeyEvent.VK_OPT) != 'undefined') {
- var VK_OPT = keyEvent.VK_OPT;
- }
- }
- if (typeof (VK_LEFT) == 'undefined') {
- var VK_LEFT = 0x25;
- var VK_UP = 0x26;
- var VK_RIGHT = 0x27;
- var VK_DOWN = 0x28;
- }
- if (typeof (VK_ENTER) == 'undefined') {
- var VK_ENTER = 0x0D;
- }
- if (typeof (VK_RED) == 'undefined') {
- var VK_RED = 0x193;
- var VK_GREEN = 0x194;
- var VK_YELLOW = 0x195;
- var VK_BLUE = 0x196;
- }
- if (typeof (VK_PLAY) == 'undefined') {
- var VK_PLAY = 0x19F;
- var VK_PAUSE = 0x13;
- var VK_STOP = 0x19D;
- var VK_REWIND = 0x19C;
- var VK_FAST_FWD = 0x1A1;
- }
- if (typeof (VK_BACK) == 'undefined') {
- var VK_BACK = 0x1CD;
- }
- if (typeof (VK_0) == 'undefined') {
- var VK_0 = 0x30;
- var VK_1 = 0x31;
- var VK_2 = 0x32;
- var VK_3 = 0x33;
- var VK_4 = 0x34;
- var VK_5 = 0x35;
- var VK_6 = 0x36;
- var VK_7 = 0x37;
- var VK_8 = 0x38;
- var VK_9 = 0x39;
- }
- if (typeof (VK_INFO) == 'undefined') {
- var VK_INFO = 457;
- var VK_INFO1 = 455;
- }
- if (typeof (VK_OPT) == 'undefined') {
- var VK_OPT = 0x3B;
- }
- var keySet = {
- // number
- keyNum0: VK_0,
- keyNum1: VK_1,
- keyNum2: VK_2,
- keyNum3: VK_3,
- keyNum4: VK_4,
- keyNum5: VK_5,
- keyNum6: VK_6,
- keyNum7: VK_7,
- keyNum8: VK_8,
- keyNum9: VK_9,
- keyPortal: 0x303,
- // play control
- keyPlay: VK_PLAY,
- keyPause: VK_PAUSE,
- keyStop: VK_STOP,
- keyBackward: VK_REWIND,
- keyForward: VK_FAST_FWD,
- // color
- keyRed: VK_RED,
- keyGreen: VK_GREEN,
- keyYellow: VK_YELLOW,
- keyBlue: VK_BLUE,
- // direction
- keyUp: VK_UP,
- keyDown: VK_DOWN,
- keyLeft: VK_LEFT,
- keyRight: VK_RIGHT,
- // controller
- keyOK: VK_ENTER,
- keyBack: VK_BACK,
- keyPageUp: 0x1AB,
- keyPageDown: 0x1AC,
- // additional
- keyInfo: VK_INFO,
- keyInfo1: VK_INFO1,
- keyText: 0x1CB,
- KeyMenu: 462,
- KeyOPT : VK_OPT
- };
- // event handler
- function EventHandler(master, elt) {
- if (arguments.length > 0) {
- this.init(master, elt);
- }
- }
- EventHandler.prototype.init = function (master, elt) {
- this.master = master;
- this.elt = elt;
- this.keySet = keySet;
- var me = this;
- this.keydownFunc = function (e) { return me.keydownHandler(e) };
- this.keypressFunc = function (e) { return me.keypressHandler(e) };
- this.keyupFunc = function (e) { return me.keyupHandler(e) };
- };
- EventHandler.prototype.inspire = function () {
- if (this.elt.addEventListener) {
- this.elt.addEventListener("keydown", this.keydownFunc, false);
- this.elt.addEventListener("keypress", this.keypressFunc, false);
- this.elt.addEventListener("keyup", this.keyupFunc, false);
- }
- else if (this.elt.attachEvent) {
- this.elt.attachEvent("onkeypress", this.keypressFunc);
- this.elt.attachEvent("onkeydown", this.keydownFunc);
- this.elt.attachEvent("onkeyup", this.keyupFunc);
- }
- };
- EventHandler.prototype.dumb = function () {
- if (this.elt.removeEventListener) {
- this.elt.removeEventListener("keypress", this.keypressFunc, false);
- this.elt.removeEventListener("keydown", this.keydownFunc, false);
- this.elt.removeEventListener("keyup", this.keyupFunc, false);
- }
- else if (this.elt.detachEvent) {
- this.elt.detachEvent("onkeypress", this.keypressFunc);
- this.elt.detachEvent("onkeydown", this.keydownFunc);
- this.elt.detachEvent("onkeyup", this.keyupFunc);
- }
- };
- EventHandler.prototype.keypressHandler = function (e) {
- var result = true;
- switch (e.keyCode) {
- case keySet.keyOK: result = this.keypressOKHandler(e); break;
- case keySet.keyUp: result = this.keypressUpHandler(e); break;
- case keySet.keyDown: result = this.keypressDownHandler(e); break;
- case keySet.keyLeft: result = this.keypressLeftHandler(e); break;
- case keySet.keyRight: result = this.keypressRightHandler(e); break;
- default: result = true; break;
- }
- return result;
- };
- EventHandler.prototype.keyupHandler = function (e) {
- var result = true;
- switch (e.keyCode) {
- case keySet.keyOK: result = this.keyupOKHandler(e); break;
- case keySet.keyUp: result = this.keyupUpHandler(e); break;
- case keySet.keyDown: result = this.keyupDownHandler(e); break;
- case keySet.keyLeft: result = this.keyupLeftHandler(e); break;
- case keySet.keyRight: result = this.keyupRightHandler(e); break;
- default: result = true; break;
- }
- return result;
- };
- EventHandler.prototype.keypressOKHandler = function (e) { return cancelEvent(e); };
- EventHandler.prototype.keypressUpHandler = function (e) { return cancelEvent(e); };
- EventHandler.prototype.keypressDownHandler = function (e) { return cancelEvent(e); };
- EventHandler.prototype.keypressLeftHandler = function (e) { return cancelEvent(e); };
- EventHandler.prototype.keypressRightHandler = function (e) { return cancelEvent(e); };
- EventHandler.prototype.keyupOKHandler = function (e) { return cancelEvent(e); };
- EventHandler.prototype.keyupUpHandler = function (e) { return cancelEvent(e); };
- EventHandler.prototype.keyupDownHandler = function (e) { return cancelEvent(e); };
- EventHandler.prototype.keyupLeftHandler = function (e) { return cancelEvent(e); };
- EventHandler.prototype.keyupRightHandler = function (e) { return cancelEvent(e); };
- EventHandler.prototype.keydownHandler = function (e) {
- var result = true;
- switch (e.keyCode) {
- case keySet.keyUp: result = this.keydownUpHandler(e); break;
- case keySet.keyDown: result = this.keydownDownHandler(e); break;
- case keySet.keyLeft: result = this.keydownLeftHandler(e); break;
- case keySet.keyRight: result = this.keydownRightHandler(e); break;
- case keySet.keyPageUp: result = this.keydownPageUpHandler(e); break;
- case keySet.keyPageDown: result = this.keydownPageDownHandler(e); break;
- case keySet.keyPortal: result = this.keydownPortalHandler(e); break;
- case keySet.keyOK: result = this.keydownOKHandler(e); break;
- case keySet.keyBack: result = this.keydownBackHandler(e); break;
- case keySet.keyExit: result = this.keydownExitHandler(e); break;
- case keySet.keyRed: result = this.keydownRedHandler(e); break;
- case keySet.keyGreen: result = this.keydownGreenHandler(e); break;
- case keySet.keyYellow:
- case keySet.keyYellowNew:
- result = this.keydownYellowHandler(e);
- break;
- case keySet.keyBlue: result = this.keydownBlueHandler(e); break;
- case keySet.keyInfo:
- case keySet.keyInfo1:
- result = this.keydownInfoHandler(e);
- break;
- case keySet.keyNum0: case keySet.keyNum5:
- case keySet.keyNum1: case keySet.keyNum6:
- case keySet.keyNum2: case keySet.keyNum7:
- case keySet.keyNum3: case keySet.keyNum8:
- case keySet.keyNum4: case keySet.keyNum9:
- result = this.keydownNumberHandler(e); break;
- case keySet.keyPlay: result = this.keydownPlayHandler(e); break;
- case keySet.keyPause: result = this.keydownPauseHandler(e); break;
- case keySet.keyStop: result = this.keydownStopHandler(e); break;
- case keySet.keyBackward: result = this.keydownBackwardHandler(e); break;
- case keySet.keyForward: result = this.keydownForwardHandler(e); break;
- case keySet.KeyMenu: result = this.keydownMenuHandler(e); break;
- case 33: result = this.keydownPageUpHandler(e); break;
- case 34: result = this.keydownPageDownHandler(e); break;
- case keySet.KeyOPT = this.keydownOPTHandler(e): break;
- default: result = true; break;
- }
- return result;
- };
- EventHandler.prototype.keydownUpHandler = function (e) { return true };
- EventHandler.prototype.keydownDownHandler = function (e) { return true };
- EventHandler.prototype.keydownLeftHandler = function (e) { return true };
- EventHandler.prototype.keydownRightHandler = function (e) { return true };
- EventHandler.prototype.keydownPageUpHandler = function (e) { return true };
- EventHandler.prototype.keydownPageDownHandler = function (e) { return true };
- EventHandler.prototype.keydownPortalHandler = function (e) { return true };
- EventHandler.prototype.keydownOKHandler = function (e) { return true };
- EventHandler.prototype.keydownBackHandler = function (e) { return true };
- EventHandler.prototype.keydownExitHandler = function (e) { return true };
- EventHandler.prototype.keydownRedHandler = function (e) { return true };
- EventHandler.prototype.keydownGreenHandler = function (e) { return true };
- EventHandler.prototype.keydownYellowHandler = function (e) { return true };
- EventHandler.prototype.keydownBlueHandler = function (e) { return true };
- EventHandler.prototype.keydownInfoHandler = function (e) { return true };
- EventHandler.prototype.keydownNumberHandler = function (e) { return true; };
- EventHandler.prototype.keydownPlayHandler = function (e) { return true; };
- EventHandler.prototype.keydownPauseHandler = function (e) { return true; };
- EventHandler.prototype.keydownStopHandler = function (e) { return true; };
- EventHandler.prototype.keydownBackwardHandler = function (e) { return true; };
- EventHandler.prototype.keydownForwardHandler = function (e) { return true; };
- EventHandler.prototype.keydownMenuHandler = function (e) { return true; };
- EventHandler.prototype.keydownOPTHandler = function (e) { return true; };
- function EventHandlerController() {
- this.init();
- }
- EventHandlerController.prototype.init = function () {
- this.handlerList = []
- this.currenthandleridx = 0;
- };
- EventHandlerController.prototype.addHandler = function (name, handler) {
- this.handlerList.push({ name: name, handler: handler })
- };
- EventHandlerController.prototype.getHandler = function (name) {
- for (var i = 0, il = this.handlerList.length; i < il; i++) {
- if (this.handlerList[i].name == name) {
- return this.handlerList[i].handler;
- }
- } return null;
- };
- EventHandlerController.prototype.removeHandler = function (name) {
- for (var i = 0, il = this.handlerList.length; i < il; i++) {
- if (this.handlerList[i].name == name) {
- this.handlerList.splice(i, 1);
- if (this.currenthandleridx == i) {
- this.currenthandleridx = 0;
- }
- return;
- }
- }
- };
- EventHandlerController.prototype.changeHandler = function (name) {
- var handler = null;
- this.currenthandler = null;
- for (var i = 0, il = this.handlerList.length; i < il; i++) {
- this.handlerList[i].handler.dumb();
- if (this.handlerList[i].name == name) {
- handler = this.handlerList[i].handler;
- this.currenthandleridx = i;
- }
- }
- if (handler == null) {
- return;
- }
- handler.inspire();
- };
- EventHandlerController.prototype.currentName = function () {
- if (this.handlerList[this.currenthandleridx])
- return this.handlerList[this.currenthandleridx].name;
- else
- return "";
- };
- function cancelEvent(e) {
- if (e.preventDefault) {
- e.preventDefault();
- }
- if (e.stopPropagation) {
- e.stopPropagation();
- }
- if (!e.cancelBubble)
- e.cancelBubble = true;
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement