UNPKG

crossbrowdy

Version:

A Multimedia JavaScript framework to create real cross-platform and hybrid game engines, games, emulators, multimedia libraries and apps.

866 lines (827 loc) 145 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>CrossBrowdy API documentation [printable] Source: CrossBase/input/CB_Keyboard.js</title> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/sunlight.default.css"> <link type="text/css" rel="stylesheet" href="styles/site.yeti.css"> </head> <body style="min-width:800px; overflow-wrap:break-word; word-wrap:break-word; word-break:break-word; line-break:strict; hyphens:none; -webkit-hyphens:none; -moz-hyphens:none;"> <div class="navbar navbar-default navbar-fixed-top "> <div class="container"> <div class="navbar-header"> <a class="navbar-brand" href="index.html">CrossBrowdy API documentation [printable]</a> <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#topNavigation"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div class="navbar-collapse collapse" id="topNavigation"> <ul class="nav navbar-nav"> <li class="dropdown"> <a href="namespaces.list.html" class="dropdown-toggle" data-toggle="dropdown">Namespaces<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="CB_Arrays.html">CB_Arrays</a></li><li><a href="CB_AudioDetector.html">CB_AudioDetector</a></li><li><a href="CB_Client.html">CB_Client</a></li><li><a href="CB_Collisions.html">CB_Collisions</a></li><li><a href="CB_Configuration.html">CB_Configuration</a></li><li><a href="CB_Configuration.CrossBase.html">CB_Configuration.CrossBase</a></li><li><a href="CB_Configuration.CrossBrowdy.html">CB_Configuration.CrossBrowdy</a></li><li><a href="CB_Controllers.html">CB_Controllers</a></li><li><a href="CB_Controllers_Proprietary.html">CB_Controllers_Proprietary</a></li><li><a href="CB_Controllers_Proprietary.WII.html">CB_Controllers_Proprietary.WII</a></li><li><a href="CB_Controllers_Proprietary.WII_U.html">CB_Controllers_Proprietary.WII_U</a></li><li><a href="CB_Device.html">CB_Device</a></li><li><a href="CB_Device.AmbientLight.html">CB_Device.AmbientLight</a></li><li><a href="CB_Device.Battery.html">CB_Device.Battery</a></li><li><a href="CB_Device.Location.html">CB_Device.Location</a></li><li><a href="CB_Device.Motion.html">CB_Device.Motion</a></li><li><a href="CB_Device.Orientation.html">CB_Device.Orientation</a></li><li><a href="CB_Device.Proximity.html">CB_Device.Proximity</a></li><li><a href="CB_Device.Vibration.html">CB_Device.Vibration</a></li><li><a href="CB_Elements.html">CB_Elements</a></li><li><a href="CB_Events.html">CB_Events</a></li><li><a href="CB_Keyboard.html">CB_Keyboard</a></li><li><a href="CB_Keyboard.chars.html">CB_Keyboard.chars</a></li><li><a href="CB_Keyboard.extended.html">CB_Keyboard.extended</a></li><li><a href="CB_Keyboard.keys.html">CB_Keyboard.keys</a></li><li><a href="CB_Modules.html">CB_Modules</a></li><li><a href="CB_Mouse.html">CB_Mouse</a></li><li><a href="CB_Mouse.CursorImage.html">CB_Mouse.CursorImage</a></li><li><a href="CB_Net.html">CB_Net</a></li><li><a href="CB_Net.Fetch.html">CB_Net.Fetch</a></li><li><a href="CB_Net.REST.html">CB_Net.REST</a></li><li><a href="CB_Net.Sockets.html">CB_Net.Sockets</a></li><li><a href="CB_Net.Sockets.SockJS.html">CB_Net.Sockets.SockJS</a></li><li><a href="CB_Net.XHR.html">CB_Net.XHR</a></li><li><a href="CB_Pointer.html">CB_Pointer</a></li><li><a href="CB_Screen.html">CB_Screen</a></li><li><a href="CB_Speaker.html">CB_Speaker</a></li><li><a href="CB_Touch.html">CB_Touch</a></li><li><a href="CB_baseSymbols.html">CB_baseSymbols</a></li> </ul> </li> <li class="dropdown"> <a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="CB_AudioFile.html">CB_AudioFile</a></li><li><a href="CB_AudioFileCache.html">CB_AudioFileCache</a></li><li><a href="CB_AudioFileSprites.html">CB_AudioFileSprites</a></li><li><a href="CB_AudioFileSpritesPool.html">CB_AudioFileSpritesPool</a></li><li><a href="CB_AudioFile_API.AAPI.html">CB_AudioFile_API.AAPI</a></li><li><a href="CB_AudioFile_API.ACMP.html">CB_AudioFile_API.ACMP</a></li><li><a href="CB_AudioFile_API.SM2.html">CB_AudioFile_API.SM2</a></li><li><a href="CB_AudioFile_API.WAAPI.html">CB_AudioFile_API.WAAPI</a></li><li><a href="CB_Canvas.html">CB_Canvas</a></li><li><a href="CB_GraphicSprites.html">CB_GraphicSprites</a></li><li><a href="CB_GraphicSpritesScene.html">CB_GraphicSpritesScene</a></li> </ul> </li> <li class="dropdown"> <a href="global.html" class="dropdown-toggle" data-toggle="dropdown">Global<b class="caret"></b></a> <ul class="dropdown-menu inline"> <li><a href="global.html#CB_BASE_NAME">CB_BASE_NAME</a></li><li><a href="global.html#CB_CREDITS_DEFAULT">CB_CREDITS_DEFAULT</a></li><li><a href="global.html#CB_NAME">CB_NAME</a></li><li><a href="global.html#CB_OPTIONS">CB_OPTIONS</a></li><li><a href="global.html#CB_VERSION">CB_VERSION</a></li><li><a href="global.html#CB_addCredits">CB_addCredits</a></li><li><a href="global.html#CB_baseToBase">CB_baseToBase</a></li><li><a href="global.html#CB_baseToInt">CB_baseToInt</a></li><li><a href="global.html#CB_br2nl">CB_br2nl</a></li><li><a href="global.html#CB_brToNl">CB_brToNl</a></li><li><a href="global.html#CB_combineArraysOrObjects">CB_combineArraysOrObjects</a></li><li><a href="global.html#CB_combineAutomatically">CB_combineAutomatically</a></li><li><a href="global.html#CB_combineJSON">CB_combineJSON</a></li><li><a href="global.html#CB_combineURIParameters">CB_combineURIParameters</a></li><li><a href="global.html#CB_combineURLParameters">CB_combineURLParameters</a></li><li><a href="global.html#CB_console">CB_console</a></li><li><a href="global.html#CB_copyObject">CB_copyObject</a></li><li><a href="global.html#CB_countDecimalDigits">CB_countDecimalDigits</a></li><li><a href="global.html#CB_countDecimalPart">CB_countDecimalPart</a></li><li><a href="global.html#CB_countDecimals">CB_countDecimals</a></li><li><a href="global.html#CB_countIntegerDigits">CB_countIntegerDigits</a></li><li><a href="global.html#CB_countIntegerPart">CB_countIntegerPart</a></li><li><a href="global.html#CB_credits">CB_credits</a></li><li><a href="global.html#CB_forEach">CB_forEach</a></li><li><a href="global.html#CB_forceString">CB_forceString</a></li><li><a href="global.html#CB_getBase64StringObject">CB_getBase64StringObject</a></li><li><a href="global.html#CB_getCookie">CB_getCookie</a></li><li><a href="global.html#CB_getDatum">CB_getDatum</a></li><li><a href="global.html#CB_getJSONPropertyValue">CB_getJSONPropertyValue</a></li><li><a href="global.html#CB_getLZStringObject">CB_getLZStringObject</a></li><li><a href="global.html#CB_getValueIndex">CB_getValueIndex</a></li><li><a href="global.html#CB_getValuePath">CB_getValuePath</a></li><li><a href="global.html#CB_includeJSFile">CB_includeJSFile</a></li><li><a href="global.html#CB_indexOf">CB_indexOf</a></li><li><a href="global.html#CB_init">CB_init</a></li><li><a href="global.html#CB_intToBase">CB_intToBase</a></li><li><a href="global.html#CB_isArray">CB_isArray</a></li><li><a href="global.html#CB_isEmail">CB_isEmail</a></li><li><a href="global.html#CB_isFileLocal">CB_isFileLocal</a></li><li><a href="global.html#CB_isString">CB_isString</a></li><li><a href="global.html#CB_lastIndexOf">CB_lastIndexOf</a></li><li><a href="global.html#CB_ltrim">CB_ltrim</a></li><li><a href="global.html#CB_nl2br">CB_nl2br</a></li><li><a href="global.html#CB_nlToBr">CB_nlToBr</a></li><li><a href="global.html#CB_numberFormat">CB_numberFormat</a></li><li><a href="global.html#CB_numberOfDecimalDigits">CB_numberOfDecimalDigits</a></li><li><a href="global.html#CB_numberOfDecimals">CB_numberOfDecimals</a></li><li><a href="global.html#CB_numberOfIntegerDigits">CB_numberOfIntegerDigits</a></li><li><a href="global.html#CB_parseJSON">CB_parseJSON</a></li><li><a href="global.html#CB_parseString">CB_parseString</a></li><li><a href="global.html#CB_regularExpressionString">CB_regularExpressionString</a></li><li><a href="global.html#CB_renderString">CB_renderString</a></li><li><a href="global.html#CB_replaceAll">CB_replaceAll</a></li><li><a href="global.html#CB_rtrim">CB_rtrim</a></li><li><a href="global.html#CB_scriptPath">CB_scriptPath</a></li><li><a href="global.html#CB_scriptPathCalculate">CB_scriptPathCalculate</a></li><li><a href="global.html#CB_setCookie">CB_setCookie</a></li><li><a href="global.html#CB_setDatum">CB_setDatum</a></li><li><a href="global.html#CB_sizeOf">CB_sizeOf</a></li><li><a href="global.html#CB_sizeof">CB_sizeof</a></li><li><a href="global.html#CB_stringifyJSON">CB_stringifyJSON</a></li><li><a href="global.html#CB_symmetricCall">CB_symmetricCall</a></li><li><a href="global.html#CB_symmetricCallClear">CB_symmetricCallClear</a></li><li><a href="global.html#CB_this">CB_this</a></li><li><a href="global.html#CB_trim">CB_trim</a></li> </ul> </li> </ul> <div class="col-sm-3 col-md-3"> <form class="navbar-form" role="search"> <div class="input-group"> <input type="text" class="form-control" placeholder="Search" name="q" id="search-input"> <div class="input-group-btn"> <button class="btn btn-default" id="search-submit"><i class="glyphicon glyphicon-search"></i></button> </div> </div> </form> </div> </div> </div> </div> <div class="container" id="toc-content" style="width:100%;"> <div class="row" style="width:100%;"> <div class="col-md-12"> <div id="main"> <h1 class="page-title">Source: CrossBase/input/CB_Keyboard.js</h1> <section> <article> <pre class="sunlight-highlight-javascript linenums">/** * @file Keyboard management (and other devices which also fire [keyboard events]{@link https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent} as TV remote controls, game consoles' gamepads, etc.). Contains the {@link CB_Keyboard} static class. * @author Joan Alba Maldonado &lt;workindalian@gmail.com> * @license Creative Commons Attribution 4.0 International. See more at {@link https://crossbrowdy.com/about#what_is_the_crossbrowdy_copyright_and_license}. */ /** * Static class to manage the keyboard and other input devices that generate key codes. It will return itself if it is tried to be instantiated. * @namespace */ var CB_Keyboard = function() { return CB_Keyboard; }; { //CB_Keyboard.onKeyPressFunction; //Function that is executed when a key is pressed (onKeyPress event). //CB_Keyboard.onKeyDownFunction; //Function that is executed when a key is down (onKeyDown event). //CB_Keyboard.onKeyUpFunction; //Function that is executed when a key is released (onKeyUp event). //CB_Keyboard.firstEvent = ""; //Defines wheter the first event captured is onKeyDown or onKeyPress (compatibility reasons). //CB_Keyboard.onKeyDownOrPressFunction; //Function that is executed when either a key is down os pressed (onKeyDown or onKeyPress event) /** * Object that will store the status for each key detected, using the key code as index and a boolean as their value (true when down or false when released). * @var * @readonly * @type {Object} * @default */ CB_Keyboard.keysDown = {}; /** * Array with the codes of the keys pressed recently (it will be cleared after the chosen milliseconds set with the {@link CB_Keyboard.setKeysPressedExpiration} function). * @var * @readonly * @type {array} * @default */ CB_Keyboard.keysPressed = []; CB_Keyboard._keysPressedExpiration = 500; //Milliseconds before keys pressed array expires. CB_Keyboard._keysPressedExpirationTimeout = null; //It will store the timeout that clears the keys pressed array. /** * Array with the codes of the string typed recently (it will be cleared after the chosen milliseconds set with the {@link CB_Keyboard.setTypedStringExpiration} function). * @var * @readonly * @type {array} * @default */ CB_Keyboard.typedStringCodes = []; /** * Stores the string typed recently (it will be cleared after the chosen milliseconds set with the {@link CB_Keyboard.setTypedStringExpiration} function). * @var * @readonly * @type {string} * @default */ CB_Keyboard.typedString = ""; //Stores the string typed (it will be cleared after some milliseconds). CB_Keyboard._typedStringExpiration = 500; //Milliseconds before typed string expires. CB_Keyboard._typedStringExpirationTimeout = null; //It will store the timeout that clears the typed string. CB_Keyboard.initialized = false; //It will tells whether the object has been initialized or not. /** Property that keeps extended key codes for different systems and platforms. * @namespace CB_Keyboard.extended */ CB_Keyboard.extended = {}; /** * Smart TV Alliance and virtual keyboard key codes. * @memberof CB_Keyboard.extended * @name VK * @constant * @type {Object} * @default * @todo Consider adding more (found in {@link https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx} and {@link http://nehe.gamedev.net/article/msdn_virtualkey_codes/15009/}) * @property {number} ENTER - ENTER key. * @property {number} PAUSE - PAUSE key. * @property {number} PAGE_UP - PAGE UP key. * @property {number} PAGE_DOWN - PAGE DOWN key. * @property {number} LEFT - LEFT key. * @property {number} UP - UP key. * @property {number} RIGHT - RIGHT key. * @property {number} DOWN - DOWN key. * @property {number} _0 - 0 (zero) key. * @property {number} _1 - 1 key. * @property {number} _2 - 2 key. * @property {number} _3 - 3 key. * @property {number} _4 - 4 key. * @property {number} _5 - 5 key. * @property {number} _6 - 6 key. * @property {number} _7 - 7 key. * @property {number} _8 - 8 key. * @property {number} _9 - 9 key. * @property {number} 0 - Alias for {@link CB_Keyboard.extended.VK._0}. * @property {number} 1 - Alias for {@link CB_Keyboard.extended.VK._1}. * @property {number} 2 - Alias for {@link CB_Keyboard.extended.VK._2}. * @property {number} 3 - Alias for {@link CB_Keyboard.extended.VK._3}. * @property {number} 4 - Alias for {@link CB_Keyboard.extended.VK._4}. * @property {number} 5 - Alias for {@link CB_Keyboard.extended.VK._5}. * @property {number} 6 - Alias for {@link CB_Keyboard.extended.VK._6}. * @property {number} 7 - Alias for {@link CB_Keyboard.extended.VK._7}. * @property {number} 8 - Alias for {@link CB_Keyboard.extended.VK._8}. * @property {number} 9 - Alias for {@link CB_Keyboard.extended.VK._9}. * @property {number} REWIND - RW (REWIND) key. * @property {number} STOP - STOP key. * @property {number} PLAY - PLAY key. * @property {number} FAST_FWD - FF (FAST FORWARD) key. * @property {number} BACK - BACK key. * @property {number} PREV - PREVIOUS key. * @property {number} NEXT - NEXT key. * @property {number} INFO - INFORMATION key. * @property {number} RED - RED key. * @property {number} GREEN - GREEN key. * @property {number} YELLOW - YELLOW key. * @property {number} BLUE - BLUE key. * @property {number} SPACE - SPACE key. * @property {number} BACK_SPACE - BACK SPACE key. * @property {number} A - A key. * @property {number} B - B key. * @property {number} C - C key. * @property {number} D - D key. * @property {number} E - E key. * @property {number} F - F key. * @property {number} G - G key. * @property {number} H - H key. * @property {number} I - I key. * @property {number} J - J key. * @property {number} K - K key. * @property {number} L - L key. * @property {number} M - M key. * @property {number} N - N key. * @property {number} O - O key. * @property {number} P - P key. * @property {number} Q - Q key. * @property {number} R - R key. * @property {number} S - S key. * @property {number} T - T key. * @property {number} U - U key. * @property {number} V - V key. * @property {number} W - W key. * @property {number} X - X key. * @property {number} Y - Y key. * @property {number} Z - Z key. * @property {number} VOLUME_UP - VOLUME UP key. * @property {number} VOLUME_DOWN - VOLUME DOWN key. * @property {number} MUTE - MUTE key. * @property {number} PLAY_PAUSE - PLAY/PAUSE key. * @property {number} HELP - HELP key. * @property {number} SUBTITLE - SUBTITLE key. * @property {number} SEARCH - SEARCH key. * @property {number} AUDIODESCRIPTION - AUDIODESCRIPTION key. * @property {number} HD - HD (High Definition) key. */ CB_Keyboard.extended.VK = { //* Source: http://smarttv-alliance.org/Markets/Developers.aspx ENTER: window.VK_ENTER || 13, PAUSE: window.VK_PAUSE || 19, PAGE_UP: window.VK_PAGE_UP || 33, PAGE_DOWN: window.VK_PAGE_DOWN || 34, LEFT: window.VK_LEFT || 37, UP: window.VK_UP || 38, RIGHT: window.VK_RIGHT || 39, DOWN: window.VK_DOWN || 40, _0: window.VK_0 || 48, _1: window.VK_1 || 49, _2: window.VK_2 || 50, _3: window.VK_3 || 51, _4: window.VK_4 || 52, _5: window.VK_5 || 53, _6: window.VK_6 || 54, _7: window.VK_7 || 55, _8: window.VK_8 || 56, _9: window.VK_9 || 57, REWIND: window.VK_REWIND || 412, STOP: window.VK_STOP || 413, PLAY: window.VK_PLAY || 415, FAST_FWD: window.VK_FAST_FWD || 417, BACK: window.VK_BACK || 461, PREV: window.VK_PREV || 424, NEXT: window.VK_NEXT || 425, INFO: window.VK_INFO || 457, RED: window.VK_RED || 403, GREEN: window.VK_GREEN || 404, YELLOW: window.VK_YELLOW || 405, BLUE: window.VK_BLUE || 406, //More virtual keyboard keys: //* Source: https://fmtvp.github.io/tal/jsdoc/symbols/src/antie_static_script_events_keyevent.js.html SPACE: window.VK_SPACE || 32, BACK_SPACE: window.VK_BACK_SPACE || 8, A: window.VK_A || 65, B: window.VK_B || 66, C: window.VK_C || 67, D: window.VK_D || 68, E: window.VK_E || 69, F: window.VK_F || 70, G: window.VK_G || 71, H: window.VK_H || 72, I: window.VK_I || 73, J: window.VK_J || 74, K: window.VK_K || 75, L: window.VK_L || 76, M: window.VK_M || 77, N: window.VK_N || 78, O: window.VK_O || 79, P: window.VK_P || 80, Q: window.VK_Q || 81, R: window.VK_R || 82, S: window.VK_S || 83, T: window.VK_T || 84, U: window.VK_U || 85, V: window.VK_V || 86, W: window.VK_W || 87, X: window.VK_X || 88, Y: window.VK_Y || 89, Z: window.VK_Z || 90, VOLUME_UP: window.VK_VOLUME_UP || 447, VOLUME_DOWN: window.VK_VOLUME_DOWN || 448, MUTE: window.VK_MUTE || 449, PLAY_PAUSE: window.VK_PLAY_PAUSE || 402, HELP: window.VK_HELP || 156, SUBTITLE: window.VK_SUBTITLE || 460, SEARCH: window.VK_SEARCH || 112, //112 is the same code as the F1 key. AUDIODESCRIPTION: window.VK_AUDIODESCRIPTION || 113, //113 is the same code as the F2 key. HD: window.VK_HD || 114 //114 is the same code as the F3 key. }; CB_Keyboard.extended.VK[0] = CB_Keyboard.extended.VK._0; CB_Keyboard.extended.VK[1] = CB_Keyboard.extended.VK._1; CB_Keyboard.extended.VK[2] = CB_Keyboard.extended.VK._2; CB_Keyboard.extended.VK[3] = CB_Keyboard.extended.VK._3; CB_Keyboard.extended.VK[4] = CB_Keyboard.extended.VK._4; CB_Keyboard.extended.VK[5] = CB_Keyboard.extended.VK._5; CB_Keyboard.extended.VK[6] = CB_Keyboard.extended.VK._6; CB_Keyboard.extended.VK[7] = CB_Keyboard.extended.VK._7; CB_Keyboard.extended.VK[8] = CB_Keyboard.extended.VK._8; CB_Keyboard.extended.VK[9] = CB_Keyboard.extended.VK._9; CB_Keyboard.extended.VK._allowDuplicateKeyAliases = CB_Configuration[CB_BASE_NAME].CB_Keyboard_extended_VK_allowDuplicateKeyAliases; /** * Samsung Tizen TV key codes. * @memberof CB_Keyboard.extended * @name SAMSUNG_TIZEN_TV * @constant * @type {Object} * @default * @property {number} UP - UP button. * @property {number} DOWN - DOWN button. * @property {number} LEFT - LEFT button. * @property {number} RIGHT - RIGHT button. * @property {number} ENTER - ENTER button. * @property {number} MEDIA_PLAY_PAUSE - PLAY/PAUSE MEDIA button. * @property {number} MEDIA_REWIND - RW (REWIND) MEDIA button. * @property {number} MEDIA_FORWARD - FW (FORWARD) MEDIA button. * @property {number} MEDIA_PLAY - PLAY MEDIA button. * @property {number} MEDIA_PAUSE - PAUSE MEDIA button. * @property {number} MEDIA_STOP - STOP MEDIA button. * @property {number} RETURN - RETURN button. * @property {number} MEDIA_RECORD - RECORD MEDIA button. * @property {number} MEDIA_TRACK_PREVIOUS - PREVIOUS TRACK MEDIA button. * @property {number} MEDIA_TRACK_NEXT - NEXT TRACK MEDIA button. * @property {number} VOLUME_UP - VOLUME UP button. * @property {number} VOLUME_DOWN - VOLUME DOWN button. * @property {number} MUTE - MUTE button. * @property {number} _0 - 0 (zero) button. * @property {number} _1 - 1 button. * @property {number} _2 - 2 button. * @property {number} _3 - 3 button. * @property {number} _4 - 4 button. * @property {number} _5 - 5 button. * @property {number} _6 - 6 button. * @property {number} _7 - 7 button. * @property {number} _8 - 8 button. * @property {number} _9 - 9 button. * @property {number} 0 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TIZEN_TV._0}. * @property {number} 1 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TIZEN_TV._1}. * @property {number} 2 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TIZEN_TV._2}. * @property {number} 3 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TIZEN_TV._3}. * @property {number} 4 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TIZEN_TV._4}. * @property {number} 5 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TIZEN_TV._5}. * @property {number} 6 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TIZEN_TV._6}. * @property {number} 7 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TIZEN_TV._7}. * @property {number} 8 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TIZEN_TV._8}. * @property {number} 9 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TIZEN_TV._9}. * @property {number} RED - RED button. * @property {number} GREEN - GREEN button. * @property {number} YELLOW - YELLOW button. * @property {number} BLUE - BLUE button. * @property {number} INFO - INFORMATION button. * @property {number} EXIT - EXIT button. * @property {number} MINUS - MINUS button. * @property {number} CAPTION - CAPTION button. * @property {number} CH_UP - CHANNEL UP button. * @property {number} CH_DOWN - CHANNEL DOWN button. * @property {number} CH_PREVIOUS - PREVIOUS CHANNEL button. * @property {number} CH_LIST - CHANNEL LIST button. * @property {number} E_MANUAL - E-MANUAL button. * @property {number} SEARCH - SEARCH button. * @property {number} _3D - 3D button. * @property {number} 3D - Alias for {@link CB_Keyboard.extended.SAMSUNG_TIZEN_TV._3D}. * @property {number} GUIDE - GUIDE button. * @property {number} SOURCE - SOURCE button. * @property {number} PICTURE_SIZE - PICTURE SIZE button. * @property {number} EXTRA - EXTRA button. * @property {number} SOCCER - SOCCER button. * @property {number} MTS - MTS (Multichannel Television Sound) button. * @property {number} TELETEXT - TELETEXT button. * @property {number} MENU - MENU button. * @property {number} TOOLS - TOOLS button. */ CB_Keyboard.extended.SAMSUNG_TIZEN_TV = { UP: 38, DOWN: 40, LEFT: 37, RIGHT: 39, ENTER: 13, MEDIA_PLAY_PAUSE: 10252, MEDIA_REWIND: 412, MEDIA_FORWARD: 417, MEDIA_PLAY: 415, MEDIA_PAUSE: 19, MEDIA_STOP: 413, RETURN: 10009, MEDIA_RECORD: 416, MEDIA_TRACK_PREVIOUS: 10232, MEDIA_TRACK_NEXT: 10233, VOLUME_UP: 447, VOLUME_DOWN: 448, MUTE: 449, _0: 48, _1: 49, _2: 50, _3: 51, _4: 52, _5: 53, _6: 54, _7: 55, _8: 56, _9: 57, RED: 403, GREEN: 404, YELLOW: 405, BLUE: 406, INFO: 457, EXIT: 10182, MINUS: 189, CAPTION: 10221, CH_UP: 427, CH_DOWN: 428, CH_PREVIOUS: 10190, CH_LIST: 10073, E_MANUAL: 10146, SEARCH: 10225, _3D: 10199, GUIDE: 458, SOURCE: 10072, PICTURE_SIZE: 10140, EXTRA: 10253, SOCCER: 10228, MTS: 10195, TELETEXT: 10200, MENU: 457, TOOLS: 10135 }; CB_Keyboard.extended.SAMSUNG_TIZEN_TV[0] = CB_Keyboard.extended.SAMSUNG_TIZEN_TV._0; CB_Keyboard.extended.SAMSUNG_TIZEN_TV[1] = CB_Keyboard.extended.SAMSUNG_TIZEN_TV._1; CB_Keyboard.extended.SAMSUNG_TIZEN_TV[2] = CB_Keyboard.extended.SAMSUNG_TIZEN_TV._2; CB_Keyboard.extended.SAMSUNG_TIZEN_TV[3] = CB_Keyboard.extended.SAMSUNG_TIZEN_TV._3; CB_Keyboard.extended.SAMSUNG_TIZEN_TV[4] = CB_Keyboard.extended.SAMSUNG_TIZEN_TV._4; CB_Keyboard.extended.SAMSUNG_TIZEN_TV[5] = CB_Keyboard.extended.SAMSUNG_TIZEN_TV._5; CB_Keyboard.extended.SAMSUNG_TIZEN_TV[6] = CB_Keyboard.extended.SAMSUNG_TIZEN_TV._6; CB_Keyboard.extended.SAMSUNG_TIZEN_TV[7] = CB_Keyboard.extended.SAMSUNG_TIZEN_TV._7; CB_Keyboard.extended.SAMSUNG_TIZEN_TV[8] = CB_Keyboard.extended.SAMSUNG_TIZEN_TV._8; CB_Keyboard.extended.SAMSUNG_TIZEN_TV[9] = CB_Keyboard.extended.SAMSUNG_TIZEN_TV._9; CB_Keyboard.extended.SAMSUNG_TIZEN_TV["3D"] = CB_Keyboard.extended.SAMSUNG_TIZEN_TV._3D; try { var tvKey = new Common.API.TVKeyValue(); } catch(E) { try { tvKey = sf.key; } catch(E) { tvKey = {}; } } /** * Samsung TV key codes. * @memberof CB_Keyboard.extended * @name SAMSUNG_TV * @constant * @type {Object} * @default * @property {number} TOOLS - TOOLS button. * @property {number} EMODE - EMODE button. * @property {number} DMA - DMA (Digital Media Adapter) button. * @property {number} SOURCE - SOURCE button. * @property {number} CHDOWN - CHANNEL DOWN button. * @property {number} CHUP - CHANNEL UP button. * @property {number} PANEL_CH_UP - CHANNEL UP PANEL button #1. * @property {number} PANEL_CH_DOWN - CHANNEL DOWN PANEL button #1. * @property {number} PANEL_CHUP - CHANNEL UP PANEL button #2. * @property {number} PANEL_CHDOWN - CHANNEL DOWN PANEL button #2. * @property {number} PIP_CHUP - CHANNEL UP PIP (Picture In Picture) button. * @property {number} PIP_CHDOWN - CHANNEL DOWN PIP (Picture In Picture) button. * @property {number} PRECH - PRE-CHANNEL (PREVIOUS CHANNEL) button. * @property {number} FAVCH - FAVOURITE CHANNEL button. * @property {number} CHLIST - CHANNEL LIST button. * @property {number} TTX_MIX - TELETEXT button. * @property {number} GUIDE - GUIDE button. * @property {number} ASPECT - ASPECT button. * @property {number} DOLBY_SRR - DOLBY SRR (SuRroundRight) button. * @property {number} MTS - MTS (Multichannel Television Sound) button. * @property {number} WHEELDOWN - WHEEL DOWN #1. * @property {number} WHEEL_DOWN - WHEEL DOWN #2. * @property {number} WHEELUP - WHEEL UP #1. * @property {number} WHEEL_UP - WHEEL UP #2. * @property {number} WHEELLEFT - WHEEL LEFT #1. * @property {number} WHEEL_LEFT - WHEEL LEFT #2. * @property {number} WHEELRIGHT - WHEEL RIGHT #1. * @property {number} WHEEL_RIGHT - WHEEL RIGHT #2. * @property {number} SMART - SMART TV button. * @property {number} EXIT - EXIT button. * @property {number} POWER - POWER button. * @property {number} PANEL_POWER - POWER PANEL button. * @property {number} POWEROFF - POWER OFF button. * @property {number} POWERON - POWER ON button. * @property {number} CONTENT - CONTENT button. * @property {number} WLINK - WLINK (Wiselink) button #1. * @property {number} W_LINK - WLINK (Wiselink) button #2. * @property {number} EMPTY - EMPTY button. * @property {number} CC - CC (Closed Captioning) button. * @property {number} REC - REC button. * @property {number} VOLUP - VOLUME UP button #1. * @property {number} VOL_UP - VOLUME UP button #2. * @property {number} VOLDOWN - VOLUME DOWN button #1. * @property {number} VOL_DOWN - VOLUME DOWN button #2. * @property {number} PANEL_VOLUP - PANEL VOLUME UP button #1. * @property {number} PANEL_VOL_UP - PANEL VOLUME UP button #2. * @property {number} PANEL_VOLDOW - PANEL VOLUME DOWN button #1. * @property {number} PANEL_VOLDOWN - PANEL VOLUME DOWN button #2. * @property {number} PANEL_VOL_DOWN - PANEL VOLUME DOWN button #3. * @property {number} MUTE - MUTE button. * @property {number} INFO - INFORMATION button. * @property {number} INFOLINK - INFOLINK button. * @property {number} MENU - MENU button. * @property {number} SUBTITLE - SUBTITLE button #1. * @property {number} SUB_TITLE - SUBTITLE button #2. * @property {number} PANEL_SOURCE - SOURCE PANEL button. * @property {number} _0 - 0 (zero) button. * @property {number} _1 - 1 button. * @property {number} _2 - 2 button. * @property {number} _3 - 3 button. * @property {number} _4 - 4 button. * @property {number} _5 - 5 button. * @property {number} _6 - 6 button. * @property {number} _7 - 7 button. * @property {number} _8 - 8 button. * @property {number} _9 - 9 button. * @property {number} _10 - 10 button. * @property {number} _11 - 11 button. * @property {number} _12 - 12 button. * @property {number} 0 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._0}. * @property {number} 1 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._1}. * @property {number} 2 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._2}. * @property {number} 3 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._3}. * @property {number} 4 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._4}. * @property {number} 5 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._5}. * @property {number} 6 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._6}. * @property {number} 7 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._7}. * @property {number} 8 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._8}. * @property {number} 9 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._9}. * @property {number} 10 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._10}. * @property {number} 11 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._11}. * @property {number} 12 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._12}. * @property {number} RED - RED button. * @property {number} GREEN - GREEN button. * @property {number} YELLOW - YELLOW button. * @property {number} BLUE - BLUE button. * @property {number} CYAN - CYAN button. * @property {number} RW - RW (REWIND) button #1. * @property {number} REWIND - RW (REWIND) button #2. * @property {number} REWIND_ - RW (REWIND) button #3. * @property {number} FF - FF (FAST FORWARD) button #1. * @property {number} FF_ - FF (FAST FORWARD) button #2. * @property {number} PAUSE - PAUSE button. * @property {number} PLAY - PLAY button. * @property {number} STOP - STOP button. * @property {number} SEARCH - SEARCH button. * @property {number} UP - UP button. * @property {number} DOWN - DOWN button. * @property {number} LEFT - LEFT button. * @property {number} RIGHT - RIGHT button. * @property {number} CH_UP - CHANNEL UP button. * @property {number} CH_DOWN - CHANNEL DOWN button. * @property {number} DISC_MENU - DISC MENU button. * @property {number} _3D - 3D button. * @property {number} 3D - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._3D}. * @property {number} PIP_ONOFF - PIP (Picture In Picture) ON/OFF button. * @property {number} AD - AD (Audio Description) button. * @property {number} PMODE - PICTURE MODE button. * @property {number} SMODE - SOUND MODE button. * @property {number} SLEEP - SLEEP button. * @property {number} D_AUDIO - DIGITAL AUDIO button. * @property {number} D_FRONT_PLAY - DIGITAL FRONT PLAY button. * @property {number} D_VIEW_MODE - DIGITAL VIEW MODE button. * @property {number} STEP - STEP button. * @property {number} CALLER_ID - CALLED ID button. * @property {number} ANTENNA - ANTENNA button. * @property {number} ZOOM_MOVE - MOVE ZOOM button. * @property {number} ZOOM1 - ZOOM 1 button. * @property {number} ZOOM2 - ZOOM 2 button. * @property {number} ZOOM_IN - ZOOM IN button. * @property {number} ZOOM_OUT - ZOOM OUT button. * @property {number} RETURN - RETURN button. * @property {number} PANEL_RETURN - RETURN PANEL button. * @property {number} ENTER - ENTER button. * @property {number} PANEL_ENTER - ENTER PANEL button. * @property {number} PANEL_MENU - MENU PANEL button. * @property {number} ADDDEL - ADD/DEL button. * @property {number} PIP_SWAP - PIP (Picture In Picture) SWAP button. * @property {number} PLUS100 - SAMSUNG AUTO MOTION PLUS 100 HZ button. * @property {number} CAPTION - CAPTION button. * @property {number} PICTURE_SIZE - PICTURE SIZE button. * @property {number} PIP_SIZE - PIP (Picture In Picture) SIZE button. * @property {number} MAGIC_CHANNEL - MAGIC CHANNEL button. * @property {number} PIP_SCAN - PIP (Picture In Picture) SCAN button. * @property {number} DEVICE_CONNECT - DEVICE CONNECT button. * @property {number} HELP - HELP button. * @property {number} CONVERGENCE - CONVERGENCE button. * @property {number} AUTO_PROGRAM - AUTO PROGRAM button. * @property {number} FACTORY - FACTORY button. * @property {number} _3SPEED - 3SPEED button. * @property {number} 3SPEED - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._3SPEED}. * @property {number} RSURF - R.SURF button. * @property {number} TOPMENU - TOP MENU button. * @property {number} GAME - GAME button. * @property {number} QUICK_REPLAY - QUICK REPLAY button. * @property {number} STILL_PICTURE - STILL PICTURE button. * @property {number} DTV - DTV (Digital Television) button. * @property {number} INSTANT_REPLAY - INSTANT REPLAY button. * @property {number} LINK - LINK button. * @property {number} ANGLE - ANGLE button. * @property {number} RESERVED1 - RESERVED1 button. * @property {number} RESERVED5 - RESERVED5 button. * @property {number} PROGRAM - PROGRAM button. * @property {number} BOOKMARK - BOOKMARK button. * @property {number} PRINT - PRINT button. * @property {number} CLEAR - CLEAR button. * @property {number} VCHIP - V-CHIP button. * @property {number} REPEAT - REPEAT button. * @property {number} DOOR - DOOR button. * @property {number} OPEN - OPEN button. * @property {number} TURBO - TURBO button. * @property {number} DVR_MENU - DVR (Digital Video Recorder) MENU button. * @property {number} TTX_SUBFACE - Teletext Subface button. * @property {number} CH_LIST - CHANNEL LIST button. * @property {number} DNIe - DNIe (Digital Natural Image Engine) button. * @property {number} DNSe - DNSe (Digital Natural Sound Engine) button. * @property {number} SRS - SRS (Sound Retrieval System) button. * @property {number} CONVERT_AUDIO_MAINSUB - CONVERT AUDIO MAIN/SUB button. * @property {number} MDC - MDC button. * @property {number} SEFFECT - SOUND EFFECT button. * @property {number} DVR - DVR (Digital Video Recorder) button. * @property {number} DTV_SIGNAL - DTV (Digital Television) SIGNAL button. * @property {number} LIVE - LIVE button. * @property {number} PERPECT_FOCUS - PERPECT FOCUS button. * @property {number} HOME - HOME button. * @property {number} ESAVING - ENERGY SAVING button. * @property {number} CONTENTS - CONTENTS button. * @property {number} SCALE - SCALE button. * @property {number} CLOCK_DISPLAY - CLOCK DISPLAY button. * @property {number} SETUP_CLOCK_TIMER - SETUP CLOCK TIMER button. * @property {number} MAGIC_BRIGHT - MAGIC BRIGHT button. * @property {number} FM_RADIO - FM RADIO button. * @property {number} VCR_MODE - VCR MODE button. * @property {number} CATV_MODE - CATV (Community Antenna Television) MODE button. * @property {number} DSS_MODE - DSS MODE button. * @property {number} DVD_MODE - DVD MODE button. * @property {number} STB_MODE - STB (Set-Top Box) MODE button. * @property {number} PCMODE - PC MODE button. * @property {number} TV_MODE - TV MODE button. * @property {number} TV - TV button. * @property {number} AV1 - AV #1 button. * @property {number} AV2 - AV #2 button. * @property {number} AV3 - AV #3 button. * @property {number} SVIDEO1 - S-VIDEO (Separated-Video) #1 button. * @property {number} SVIDEO2 - S-VIDEO (Separated-Video) #2 button. * @property {number} SVIDEO3 - S-VIDEO (Separated-Video) #3 button. * @property {number} COMPONENT1 - COMPONENT #1 button. * @property {number} COMPONENT2 - COMPONENT #2 button. * @property {number} DVI - DVI (Digital Visual Interface) button. * @property {number} HDMI - HDMI button. * @property {number} HDMI1 - HDMI #1 button. * @property {number} HDMI2 - HDMI #2 button. * @property {number} HDMI3 - HDMI #3 button. * @property {number} HDMI4 - HDMI #4 button. * @property {number} DTV_LINK - DTVLINK (DIGITAL TELEVISION LINK) button. * @property {number} APP_LIST - APP LIST button. * @property {number} BACK_MHP - BACK MHP (Multimedia Home Platform) button. * @property {number} ALT_MHP - ALTERNATE MHP (Multimedia Home Platform) button. * @property {number} RSS - RSS button. * @property {number} ENTERTAINMENT - ENTERTAINMENT button. * @property {number} ID_INPUT - ID INPUT button. * @property {number} ID_SETUP - ID SETUP button. * @property {number} ANYNET - ANYNET button. * @property {number} ANYVIEW - ANYVIEW button. * @property {number} MS - MS button. * @property {number} MORE - MORE button. * @property {number} _4_3 - 4:3 button. * @property {number} 4_3 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._4_3}. * @property {number} _16_9 - 16:9 button. * @property {number} 16_9 - Alias for {@link CB_Keyboard.extended.SAMSUNG_TV._16_9}. * @property {number} PANORAMA - PICTURE MODE PANORAMA button. * @property {number} DYNAMIC - PICTURE MODE DYNAMIC button. * @property {number} STANDARD - PICTURE MODE STANDARD button. * @property {number} MOVIE1 - PICTURE MODE MOVIE1 button. * @property {number} CUSTOM - PICTURE MODE CUSTOM button. * @property {number} AUTO_ARC_RESET - AUTO ARC (Audio Return Channel) RESET button. * @property {number} AUTO_ARC_LNA_ON - AUTO ARC (Audio Return Channel) LNA (Low Noise Amplifier) ON button. * @property {number} AUTO_ARC_LNA_OFF - AUTO ARC (Audio Return Channel) LNA (Low Noise Amplifier) OFF button. * @property {number} AUTO_ARC_ANYNET_MODE_OK - AUTO ARC (Audio Return Channel) ANYNET MODE OK button. * @property {number} AUTO_ARC_ANYNET_AUTO_START - AUTO ARC (Audio Return Channel) ANYNET AUTO START button. * @property {number} AUTO_ARC_CAPTION_ON - AUTO ARC (Audio Return Channel) CAPTION ON button. * @property {number} AUTO_ARC_CAPTION_OFF - AUTO ARC (Audio Return Channel) CAPTION OFF button. * @property {number} AUTO_ARC_PIP_DOUBLE - AUTO ARC (Audio Return Channel) PIP (Picture In Picture) DOUBLE button. * @property {number} AUTO_ARC_PIP_LARGE - AUTO ARC (Audio Return Channel) PIP (Picture In Picture) LARGE button. * @property {number} AUTO_ARC_PIP_SMALL - AUTO ARC (Audio Return Channel) PIP (Picture In Picture) SMALL button. * @property {number} AUTO_ARC_PIP_WIDE - AUTO ARC (Audio Return Channel) PIP (Picture In Picture) WIDE button. * @property {number} AUTO_ARC_PIP_LEFT_TOP - AUTO ARC (Audio Return Channel) PIP (Picture In Picture) LEFT TOP button. * @property {number} AUTO_ARC_PIP_RIGHT_TOP - AUTO ARC (Audio Return Channel) PIP (Picture In Picture) RIGHT TOP button. * @property {number} AUTO_ARC_PIP_LEFT_BOTTOM - AUTO ARC (Audio Return Channel) PIP (Picture In Picture) LEFT BOTTOM button. * @property {number} AUTO_ARC_PIP_RIGHT_BOTTOM - AUTO ARC (Audio Return Channel) PIP (Picture In Picture) RIGHT BOTTOM button. * @property {number} AUTO_ARC_PIP_CH_CHANGE - AUTO ARC (Audio Return Channel) PIP (Picture In Picture) CHANNEL CHANGE button. * @property {number} AUTO_ARC_PIP_SOURCE_CHANGE - AUTO ARC (Audio Return Channel) PIP (Picture In Picture) SOURCE CHANGE button. * @property {number} AUTO_ARC_AUTOCOLOR_SUCCESS - AUTO ARC (Audio Return Channel) AUTOCOLOR SUCCESS button. * @property {number} AUTO_ARC_AUTOCOLOR_FAIL - AUTO ARC (Audio Return Channel) AUTOCOLOR FAIL button. * @property {number} AUTO_ARC_C_FORCE_AGING - AUTO ARC (Audio Return Channel) C-FORCE AGING button. * @property {number} AUTO_ARC_USBJACK_INSPECT - AUTO ARC (Audio Return Channel) USB JACK INSPECT button. * @property {number} AUTO_ARC_JACK_IDENT - AUTO ARC (Audio Return Channel) JACK IDENT button. * @property {number} AUTO_ARC_CAPTION_KOR - AUTO ARC (Audio Return Channel) CAPTION KOREAN button. * @property {number} AUTO_ARC_CAPTION_ENG - AUTO ARC (Audio Return Channel) CAPTION ENGLISH button. * @property {number} AUTO_ARC_ANTENNA_AIR - AUTO ARC (Audio Return Channel) ANTENNA AIR button. * @property {number} AUTO_ARC_ANTENNA_CABLE - AUTO ARC (Audio Return Channel) ANTENNA CABLE button. * @property {number} AUTO_ARC_ANTENNA_SATELLITE - AUTO ARC (Audio Return Channel) ANTENNA SATELLITE button. * @property {number} AUTO_FORMAT - AUTO FORMAT button. * @property {number} DNET - D-NET button. * @property {number} NINE_SEPARATE - NINE SEPARATE button. * @property {number} MIC - MIC (MICROPHONE) button. * @property {number} EXT1 - EXT1 button. * @property {number} EXT2 - EXT2 button. * @property {number} EXT3 - EXT3 button. * @property {number} EXT4 - EXT4 button. * @property {number} EXT5 - EXT5 button. * @property {number} EXT6 - EXT6 button. * @property {number} EXT7 - EXT7 button. * @property {number} EXT8 - EXT8 button. * @property {number} EXT9 - EXT9 button. * @property {number} EXT10 - EXT10 button. * @property {number} EXT11 - EXT11 button. * @property {number} EXT12 - EXT12 button. * @property {number} EXT13 - EXT13 button. * @property {number} EXT14 - EXT14 button. * @property {number} EXT15 - EXT15 button. * @property {number} EXT16 - EXT16 button. * @property {number} EXT17 - EXT17 button. * @property {number} EXT18 - EXT18 button. * @property {number} EXT19 - EXT19 button. * @property {number} EXT20 - EXT20 button. * @property {number} EXT21 - EXT21 button. * @property {number} EXT22 - EXT22 button. * @property {number} EXT23 - EXT23 button. * @property {number} EXT24 - EXT24 button. * @property {number} EXT25 - EXT25 button. * @property {number} EXT26 - EXT26 button. * @property {number} EXT27 - EXT27 button. * @property {number} EXT28 - EXT28 button. * @property {number} EXT29 - EXT29 button. * @property {number} EXT30 - EXT30 button. * @property {number} EXT31 - EXT31 button. * @property {number} EXT32 - EXT32 button. * @property {number} EXT33 - EXT33 button. * @property {number} EXT34 - EXT34 button. * @property {number} EXT35 - EXT35 button. * @property {number} EXT36 - EXT36 button. * @property {number} EXT37 - EXT37 button. * @property {number} EXT38 - EXT38 button. * @property {number} EXT39 - EXT39 button. * @property {number} EXT40 - EXT40 button. * @property {number} EXT41 - EXT41 button. */ //* Source: https://forum.samygo.tv/viewtopic.php?t=1792 and http://www.openremote.org/pages/viewpage.action?pageId=19434990 and https://github.com/Ape/samsungctl/issues/87 CB_Keyboard.extended.SAMSUNG_TV = { TOOLS: tvKey.KEY_TOOLS || tvKey.TOOLS, //Same code as "K" key (75). EMODE: tvKey.KEY_EMODE || tvKey.EMODE, //148 DMA: tvKey.KEY_DMA || tvKey.DMA, //260 SOURCE: tvKey.KEY_SOURCE || tvKey.SOURCE, //222 CHDOWN: tvKey.KEY_CHDOWN || tvKey.CHDOWN, CHUP: tvKey.KEY_CHUP || tvKey.CHUP, PANEL_CH_UP: tvKey.KEY_PANEL_CH_UP || tvKey.PANEL_CH_UP, //105 (same code as "9" in the numeric pad). PANEL_CH_DOWN: tvKey.KEY_PANEL_CH_DOWN || tvKey.PANEL_CH_DOWN, //106 (same code as asterisk ("*") in the numeric pad). PANEL_CHUP: tvKey.KEY_PANEL_CHUP || tvKey.KEY_PANNEL_CHUP || tvKey.PANEL_CHUP || tvKey.PANNEL_CHUP, PANEL_CHDOWN: tvKey.KEY_PANEL_CHDOWN || tvKey.KEY_PANNEL_CHDOWN || tvKey.PANEL_CHDOWN || tvKey.PANNEL_CHDOWN, PIP_CHUP: tvKey.KEY_PIP_CHUP || tvKey.PIP_CHUP, //1050 PIP_CHDOWN: tvKey.KEY_PIP_CHDOWN || tvKey.PIP_CHDOWN, //1051 PRECH: tvKey.KEY_PRECH || tvKey.PRECH, //259 FAVCH: tvKey.KEY_FAVCH || tvKey.FAVCH, //256 CHLIST: tvKey.KEY_CHLIST || tvKey.CHLIST, //84 (same code as "T" key). TTX_MIX: tvKey.KEY_TTX_MIX || tvKey.TTX_MIX, //650 GUIDE: tvKey.KEY_GUIDE || tvKey.GUIDE, //651 ASPECT: tvKey.KEY_ASPECT || tvKey.ASPECT, //653 DOLBY_SRR: tvKey.KEY_DOLBY_SRR || tvKey.DOLBY_SRR, //654 MTS: tvKey.KEY_MTS || tvKey.MTS, //655 WHEELDOWN: tvKey.KEY_WHEELDOWN || tvKey.WHEELDOWN, //29469 WHEEL_DOWN: tvKey.KEY_WHEEL_DOWN || tvKey.WHEEL_DOWN, WHEELUP: tvKey.KEY_WHEELUP || tvKey.WHEELUP, //29468 WHEEL_UP: tvKey.KEY_WHEEL_UP || tvKey.WHEEL_UP, WHEELLEFT: tvKey.KEY_WHEELLEFT || tvKey.WHEELLEFT, WHEEL_LEFT: tvKey.KEY_WHEEL_LEFT || tvKey.WHEEL_LEFT, WHEELRIGHT: tvKey.KEY_WHEELRIGHT || tvKey.WHEELRIGHT, WHEEL_RIGHT: tvKey.KEY_WHEEL_RIGHT || tvKey.WHEEL_RIGHT, SMART: tvKey.KEY_SMART || tvKey.SMART, EXIT: tvKey.KEY_EXIT || tvKey.EXIT, //Same code as INS key (45). POWER: tvKey.KEY_POWER || tvKey.POWER, //76 (same code as "L" key). PANEL_POWER: tvKey.KEY_PANEL_POWER || tvKey.KEY_PANNEL_POWER || tvKey.PANEL_POWER || tvKey.PANNEL_POWER, //614 POWEROFF: tvKey.KEY_POWEROFF || tvKey.POWEROFF, POWERON: tvKey.KEY_POWERON || tvKey.POWERON, CONTENT: tvKey.KEY_CONTENT || tvKey.CONTENT, //261 WLINK: tvKey.KEY_WLINK || tvKey.WLINK, //115 (same code as F4 key) W_LINK: tvKey.KEY_W_LINK || tvKey.W_LINK, EMPTY: tvKey.KEY_EMPTY || tvKey.EMPTY, //0 CC: tvKey.KEY_CC || tvKey.CC, //118 (same code as F7 key) REC: tvKey.KEY_REC || tvKey.REC, //192 VOLUP: tvKey.KEY_VOLUP || tvKey.VOLUP, VOL_UP: tvKey.KEY_VOL_UP || tvKey.VOL_UP, //7 VOLDOWN: tvKey.KEY_VOLDOWN || tvKey.VOLDOWN, VOL_DOWN: tvKey.KEY_VOL_DOWN || tvKey.VOL_DOWN, //1 PANEL_VOLUP: tvKey.KEY_PANEL_VOLUP || tvKey.KEY_PANNEL_VOLUP || tvKey.PANEL_VOLUP || tvKey.PANNEL_VOLUP, PANEL_VOL_UP: tvKey.KEY_PANEL_VOL_UP || tvKey.PANEL_VOL_UP, //203 PANEL_VOLDOW: tvKey.KEY_PANEL_VOLDOW || tvKey.KEY_PANNEL_VOLDOW || tvKey.PANEL_VOLDOW || tvKey.PANNEL_VOLDOW, PANEL_VOLDOWN: tvKey.KEY_PANEL_VOLDOWN || tvKey.KEY_PANNEL_VOLDOWN || tvKey.PANEL_VOLDOWN || tvKey.PANNEL_VOLDOWN, PANEL_VOL_DOWN: tvKey.KEY_PANEL_VOL_DOWN || tvKey.PANEL_VOL_DOWN, //204 MUTE: tvKey.KEY_MUTE || tvKey.MUTE, //Same code as ESC key (27). INFO: tvKey.KEY_INFO || tvKey.INFO, //31 INFOLINK: tvKey.KEY_INFOLINK || tvKey.INFOLINK, //147 MENU: tvKey.KEY_MENU || tvKey.MENU, //262 SUBTITLE: tvKey.KEY_SUBTITLE || tvKey.SUBTITLE, //652 SUB_TITLE: tvKey.KEY_SUB_TITLE || tvKey.SUB_TITLE, //1089 PANEL_SOURCE: tvKey.KEY_PANEL_SOURCE || tvKey.KEY_PANNEL_SOURCE || tvKey.PANEL_SOURCE || tvKey.PANNEL_SOURCE, //612 _0: tvKey.KEY_0 || tvKey.N0 || tvKey._0 || tvKey["0"], //17 (same code as CTRL or META key, depending on the system). _1: tvKey.KEY_1 || tvKey.N1 || tvKey._1 || tvKey["1"], //101 (same code as "5" in the numeric pad). _2: tvKey.KEY_2 || tvKey.N2 || tvKey._2 || tvKey["2"], //98 (same code as "2" in the numeric pad). _3: tvKey.KEY_3 || tvKey.N3 || tvKey._3 || tvKey["3"], //6 _4: tvKey.KEY_4 || tvKey.N4 || tvKey._4 || tvKey["4"], //8 _5: tvKey.KEY_5 || tvKey.N5 || tvKey._5 || tvKey["5"], //9 _6: tvKey.KEY_6 || tvKey.N6 || tvKey._6 || tvKey["6"], //10 _7: tvKey.KEY_7 || tvKey.N7 || tvKey._7 || tvKey["7"], //12 _8: tvKey.KEY_8 || tvKey.N8 || tvKey._8 || tvKey["8"], //13 _9: tvKey.KEY_9 || tvKey.N9 || tvKey._9 || tvKey["9"], //14 _10: tvKey.KEY_10 || tvKey.N10 || tvKey._10 || tvKey["10"], _11: tvKey.KEY_11 || tvKey.N11 || tvKey._11 || tvKey["11"], _12: tvKey.KEY_12 || tvKey.N12 || tvKey._12 || tvKey["12"], //1057 RED: tvKey.KEY_RED || tvKey.RED, //Same code as SEPARATOR key (108). GREEN: tvKey.KEY_GREEN || tvKey.GREEN, //Same code as CAPS_LOCK key (20). YELLOW: tvKey.KEY_YELLOW || tvKey.YELLOW, //21 BLUE: tvKey.KEY_BLUE || tvKey.BLUE, //22 CYAN: tvKey.KEY_CYAN || tvKey.CYAN, RW: tvKey.KEY_RW || tvKey.RW, //69 (same code as "E" key). PAUSE: tvKey.KEY_PAUSE || tvKey.PAUSE, //74 (same code as "J" key). FF: tvKey.KEY_FF || tvKey.FF, //72 (same code as "H" key). FF_: tvKey.KEY_FF_ || tvKey.FF_, //1078 REWIND: tvKey.KEY_REWIND || tvKey.REWIND, REWIND_: tvKey.KEY_REWIND_ || tvKey.REWIND_, //1080 PLAY: tvKey.KEY_PLAY || tvKey.PLAY, //71 (same code as "G" key). STOP: tvKey.KEY_STOP || tvKey.STOP, //70 (same code as "F" key). SEARCH: tvKey.KEY_SEARCH || tvKey.SEARCH, UP: tvKey.KEY_UP || tvKey.UP, //29460. DOWN: tvKey.KEY_DOWN || tvKey.DOWN, //29461 LEFT: tvKey.KEY_LEFT || tvKey.LEFT, //4 RIGHT: tvKey.KEY_RIGHT || tvKey.RIGHT, //5 CH_UP: tvKey.KEY_CH_UP || tvKey.CH_UP, //68 (sam