Guest User

Untitled

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