Guest User

Untitled

a guest
Jan 26th, 2016
1,179
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2. // SilvKeys.js
  3. // Version: 1.03
  4. // License: Credit me: http://creativecommons.org/licenses/by/4.0/
  5. // Special thanks to Zalerinian & Iavra
  6. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  7. /*:
  8.  * @plugindesc v1.03 Silv KeyMapper <SilvKeys>
  9.  * @author Silver
  10.  *
  11.  * @help
  12.  * Example usage:
  13.  * var myKey = Silv.Keys.fromStringParam('pageup');
  14.  * Silv.Minimap.ScrollKey = Silv.Keys.fromStringParam(Silv.Parameters['home']);
  15.  * Note: string-value is NOT case-sensitive
  16. */
  17. var Imported = Imported || {};
  18. var Silv = Silv || {};
  19. if (!('SILV_Keys' in Imported) || Imported.SILV_Keys < 1.03) {
  20.     Imported.SILV_Keys = 1.03;
  21.     Silv.Keys = Silv.Keys || {};
  22.      
  23.     Silv.Keys.MappingInv =
  24.     {
  25.         '':-1,
  26.         'none':-1,
  27.        
  28.         'backspace':8,
  29.         'tab':9,
  30.         'enter':13,
  31.         'shift':16,
  32.         'control':17,
  33.         'alt':18,
  34.         'pause':19,
  35.         'capslock':20,
  36.         'escape':27,
  37.         'space':32,
  38.         'pageup':33,
  39.         'pagedown':34,
  40.         'end':35,
  41.         'home':36,
  42.         'left':37,
  43.         'up':38,
  44.         'right':39,
  45.         'down':40,
  46.         'insert':45,
  47.         'delete':46,
  48.        
  49.         '0':48,
  50.         '1':49,
  51.         '2':50,
  52.         '3':51,
  53.         '4':52,
  54.         '5':53,
  55.         '6':54,
  56.         '7':55,
  57.         '8':56,
  58.         '9':57,
  59.        
  60.         'a':65,
  61.         'b':66,
  62.         'c':67,
  63.         'd':68,
  64.         'e':69,
  65.         'f':70,
  66.         'g':71,
  67.         'h':72,
  68.         'i':73,
  69.         'j':74,
  70.         'k':75,
  71.         'l':76,
  72.         'm':77,
  73.         'n':78,
  74.         'o':79,
  75.         'p':80,
  76.         'q':81,
  77.         'r':82,
  78.         's':83,
  79.         't':84,
  80.         'u':85,
  81.         'v':86,
  82.         'w':87,
  83.         'x':88,
  84.         'y':89,
  85.         'z':90,
  86.        
  87.         'windows_left':91,
  88.         'windows_right':92,
  89.         'media':93,
  90.        
  91.         'numpad0':96,
  92.         'numpad1':97,
  93.         'numpad2':98,
  94.         'numpad3':99,
  95.         'numpad4':100,
  96.         'numpad5':101,
  97.         'numpad6':102,
  98.         'numpad7':103,
  99.         'numpad8':104,
  100.         'numpad9':105,
  101.        
  102.         '*':106,
  103.         '+':107,
  104.         '-':109, // same as 189
  105.         '.':110,
  106.         '/':111,
  107.        
  108.         'f1':112,
  109.         'f2':113,
  110.         'f3':114,
  111.         'f4':115,
  112.         'f5':116,
  113.         'f6':117,
  114.         'f7':118,
  115.         'f8':119,
  116.         'f19':120,
  117.         'f10':121,
  118.         'f11':122,
  119.         'f12':123,
  120.        
  121.         'numlock':144,
  122.         'num_lock':144,
  123.         'scrolllock':145,
  124.         'scroll_lock':145,
  125.         ';':186,
  126.         'semicolon':186,
  127.         'semi_colon':186,
  128.         '=':187,
  129.         'equal':187,
  130.         'equal_sign':187,
  131.         ',':188,
  132.         'comma':188,
  133.         //'-':189, // duplicate of 109
  134.         '.':190,
  135.         'dot':190,
  136.         'decimal':190,
  137.         'decimal_point':190,
  138.         'decimal_dot':190,
  139.         '/':191,
  140.         'forwardslash':191,
  141.         'forward_slash':191,
  142.         'grave_accent':192,
  143.         'graveaccent':192,
  144.         '[':219,
  145.         'openbracket':219,
  146.         'open_bracket':219,
  147.         'backslash':220,
  148.         ']':221,
  149.         'closebracket':221,
  150.         'close_bracket':221,
  151.         'single_quote':222
  152.     };
  153.     //Input.keyMapper[36] = 'home sweet home'; // DEBUG
  154.     //Input.keyMapper[121] = 'f10'; // DEBUG
  155.     //Input.keyMapper[187] = 'gregnergnreiogneiogneoi'; // DEBUG, yes even this works!
  156.     Silv.Keys.fromStringParam = function(str)
  157.     {
  158.         str = str.toLowerCase();
  159.         var keyCode = Silv.Keys.MappingInv[str];
  160.         if (keyCode === undefined) { throw 'No key found for: ' + str; }
  161.         if (Input.keyMapper[keyCode] === undefined) { Input.keyMapper[keyCode] = str; }
  162.         return Input.keyMapper[keyCode];
  163.     }
  164. }
  165.  
  166. /*// Example usage (press home-key and watch console window):
  167.  
  168. // example debug key
  169. var myKey = Silv.Keys.fromStringParam('home');
  170.  
  171. (function()
  172. {  
  173.     var test2 = Input.update;
  174.     Input.update = function()
  175.     {
  176.         test2.call(this);
  177.         if (Input.isPressed(myKey)){ console.log('PRESSED!, key used: ' + myKey); }
  178.     }
  179. })();
  180. */
  181. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  182. // End of Silver Key Plugin
  183. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
RAW Paste Data