mcgluszak

[Author: Aleworks] Aleworks' Keys Module v1.12

Sep 1st, 2011
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 14.39 KB | None | 0 0
  1. #=============================================================================
  2. # *** AWorks Keys Module(AKM)
  3. #=============================================================================
  4. # Created by AWorks
  5. # Version: 1.12
  6. # Last Update: 26/01/2009 (day/month/year)
  7. #=============================================================================
  8. #==== Description ====
  9. # This module is a complement for AIM(AWorks Input Module). It lists all the
  10. # virtual keys from keyboard and mouse.
  11. #=============================================================================
  12. #==== Version History ====
  13. # * Version 1.10
  14. #   - Added all the keyboard/mouse lacking virtual keys(74 keys added)
  15. #   - Keys.name? method improved
  16. #   - New methods: Keys.var_name?; Keys.vk?; Keys.var_vk?
  17. # * Version 1.11
  18. #   - Fixed Bug between Enter and Clear virtual codes
  19. # * Version 1.12
  20. #   - Deprecated var_name? and var_vk? methods
  21. #   - Added alternative constansts names
  22. #=============================================================================
  23. #==== Instructions ====
  24. # For reading a virtual key use: Keys::VIRTUALKEY, where VIRTUALKEY is the
  25. # name of the key you want to use. For example: Keys::A will return 65, the
  26. # virtual key code of A key, and Keys::ALT will return 18, the virtual key
  27. # of the alt key.
  28. #=============================================================================
  29. #==== Features ====
  30. # * Keys.name?(vk)
  31. #   Returns the name of the virtual key.
  32. # * Keys.vk?(name)
  33. #   Returns the virtual key of the key name.
  34. #=============================================================================
  35.  
  36. #=============================================================================
  37. # ** Module Keys
  38. #=============================================================================
  39. module Keys
  40.   #---------------------------------------------------------------------------
  41.   # * Mouse Buttons
  42.   #---------------------------------------------------------------------------
  43.   MOUSE_LEFT      = 1 # Mouse primary button (Normaly the left button)
  44.   MOUSE_RIGHT     = 2 # Mouse secondary button (Normaly the right button)
  45.   MOUSE_MIDDLE    = 4 # Mouse middle button
  46.   MOUSE_4TH       = 5 # Mouse fourth button
  47.   MOUSE_5TH       = 6 # Mouse fifth button
  48.   #---------------------------------------------------------------------------
  49.   # * Miscellaneous Keys
  50.   #---------------------------------------------------------------------------
  51.   CANCEL        = 3   # Cancel key
  52.   BACKSPACE     = 8   # Backspace key
  53.   TAB           = 9   # Tab key
  54.   CLEAR         = 12  # Clear key
  55.   RETURN        = 13  # Enter key
  56.   SHIFT         = 16  # Shift key
  57.   CTRL          = 17  # Control key
  58.   ALT           = 18  # Alt key
  59.   PAUSE         = 19  # Pause key
  60.   ESCAPE        = 27  # Escape key
  61.   SPACE         = 32  # Space bar key
  62.   PGUP          = 33  # Page Up key
  63.   PGDN          = 34  # Page Down key
  64.   ENDS          = 35  # End key
  65.   HOME          = 36  # Home key
  66.   LEFT          = 37  # Left Arrow key
  67.   UP            = 38  # Up Arrow key
  68.   RIGHT         = 39  # Right Arrow key
  69.   DOWN          = 40  # Down Arrow key
  70.   SNAPSHOT      = 44  # Print Screen key
  71.   SELECT        = 41  # Select key
  72.   PRINT         = 42  # Print key
  73.   EXECUTE       = 43  # Execute key
  74.   INSERT        = 45  # Insert key
  75.   DELETE        = 46  # Delete key
  76.   HELP          = 47  # Help key
  77.   LEFT_SHIFT    = 160 # Left Shift key
  78.   RIGHT_SHIFT   = 161 # Right Shift key
  79.   LEFT_CONTROL  = 162 # Left Control key
  80.   RIGHT_CONTROL = 163 # Right Control key
  81.   LEFT_ALT      = 164 # Left Alt key
  82.   RIGHT_ALT     = 165 # Right Alt key
  83.   #---------------------------------------------------------------------------
  84.   # * Number Keys
  85.   #---------------------------------------------------------------------------
  86.   N0 = 48 # 0 key
  87.   N1 = 49 # 1 key
  88.   N2 = 50 # 2 key
  89.   N3 = 51 # 3 key
  90.   N4 = 52 # 4 key
  91.   N5 = 53 # 5 key
  92.   N6 = 54 # 6 key
  93.   N7 = 55 # 7 key
  94.   N8 = 56 # 8 key
  95.   N9 = 57 # 9 key
  96.   #---------------------------------------------------------------------------
  97.   # * Letters Keys
  98.   #---------------------------------------------------------------------------
  99.   A = 65 # A key
  100.   B = 66 # B key
  101.   C = 67 # C key
  102.   D = 68 # D key
  103.   E = 69 # E key
  104.   F = 70 # F key
  105.   G = 71 # G key
  106.   H = 72 # H key
  107.   I = 73 # I key
  108.   J = 74 # J key
  109.   K = 75 # K key
  110.   L = 76 # L key
  111.   M = 77 # M key
  112.   N = 78 # N key
  113.   O = 79 # O key
  114.   P = 80 # P key
  115.   Q = 81 # Q key
  116.   R = 82 # R key
  117.   S = 83 # S key
  118.   T = 84 # T key
  119.   U = 85 # U key
  120.   V = 86 # V key
  121.   W = 87 # W key
  122.   X = 88 # X key
  123.   Y = 89 # Y key
  124.   Z = 90 # Z key
  125.   #---------------------------------------------------------------------------
  126.   # * Windows Keys
  127.   #---------------------------------------------------------------------------
  128.   LWIN                = 91  # Left Windows key (Microsoft Natural keyboard)
  129.   RWIN                = 92  # Right Windows key (Natural keyboard)
  130.   APPS                = 93  # Applications key (Natural keyboard)
  131.   SLEEP               = 95  # Computer Sleep key
  132.   BROWSER_BAK         = 166 # Browser Back key
  133.   BROWSER_FORWARD     = 167 # Browser Forward key
  134.   BROWSER_REFRESH     = 168 # Browser Refresh key
  135.   BROWSER_STOP        = 169 # Browser Stop key
  136.   BROWSER_SEARCH      = 170 # Browser Search key
  137.   BROWSER_FAVORITES   = 171 # Browser Favorites key
  138.   BROWSER_HOME        = 172 # Browser Start and Home key
  139.   VOLUME_MUTE         = 173 # Volume Mute key
  140.   VOLUME_DOWN         = 174 # Volume Down key
  141.   VOLUME_UP           = 175 # Volume Up key
  142.   MEDIA_NEXT_TRACK    = 176 # Next Track key
  143.   MEDIA_PREV_TRACK    = 177 # Previous Track key
  144.   MEDIA_STOP          = 178 # Stop Media key
  145.   MEDIA_PLAY_PAUSE    = 179 # Play/Pause Media key
  146.   LAUNCH_MAIL         = 180 # Start Mail key
  147.   LAUNCH_MEDIA_SELECT = 181 # Select Media key
  148.   LAUNCH_APP1         = 182 # Start Application 1 key
  149.   LAUNCH_APP2         = 183 # Start Application 2 key
  150.   PROCESS             = 229 # Proccess key
  151.   ATTN                = 246 # Attn key
  152.   CRSEL               = 247 # CrSel key
  153.   EXSEL               = 248 # ExSel key
  154.   EREOF               = 249 # Erase EOF key
  155.   PLAY                = 250 # Play key
  156.   ZOOM                = 251 # Zoom key
  157.   PA1                 = 253 # PA1 key
  158.   #---------------------------------------------------------------------------
  159.   # * Pad Keys
  160.   #---------------------------------------------------------------------------
  161.   NUMPAD0   = 96  # Numberpad 0 key
  162.   NUMPAD1   = 97  # Numberpad 1 key
  163.   NUMPAD2   = 98  # Numberpad 2 key
  164.   NUMPAD3   = 99  # Numberpad 3 key
  165.   NUMPAD4   = 100 # Numberpad 4 key
  166.   NUMPAD5   = 101 # Numberpad 5 key
  167.   NUMPAD6   = 102 # Numberpad 6 key
  168.   NUMPAD7   = 103 # Numberpad 7 key
  169.   NUMPAD8   = 104 # Numberpad 8 key
  170.   NUMPAD9   = 105 # Numberpad 9 key
  171.   MULTIPLY  = 106 # Multiply key (*)
  172.   ADD       = 107 # Add key (+)
  173.   SEPARATOR = 108 # Separator key
  174.   SUBTRACT  = 109 # Subtract key (-)
  175.   DECIMAL   = 110 # Decimal key (.)
  176.   DIVIDE    = 111 # Divide key (/)
  177.   #---------------------------------------------------------------------------
  178.   # * F Keys
  179.   #---------------------------------------------------------------------------
  180.   F1  = 112 # F1 key
  181.   F2  = 113 # F2 key
  182.   F3  = 114 # F3 key
  183.   F4  = 115 # F4 key
  184.   F5  = 116 # F5 key
  185.   F6  = 117 # F6 key
  186.   F7  = 118 # F7 key
  187.   F8  = 119 # F8 key
  188.   F9  = 120 # F9 key
  189.   F10 = 121 # F10 key
  190.   F11 = 122 # F11 key
  191.   F12 = 123 # F12 key
  192.   F13 = 124 # F13 key
  193.   F14 = 125 # F14 key
  194.   F15 = 126 # F15 key
  195.   F16 = 127 # F16 key
  196.   F17 = 128 # F17 key
  197.   F18 = 129 # F18 key
  198.   F19 = 130 # F19 key
  199.   F20 = 131 # F20 key
  200.   F21 = 132 # F21 key
  201.   F22 = 133 # F22 key
  202.   F23 = 134 # F23 key
  203.   F24 = 135 # F24 key
  204.   #---------------------------------------------------------------------------
  205.   # * Mode Keys
  206.   #---------------------------------------------------------------------------
  207.   CAPS_LOCK   = 20  # Capitals lock key
  208.   NUM_LOCK    = 144 # Number lock key
  209.   SCROLL_LOCK = 145 # Scroll lock key
  210.   KANA        = 21  # Kana key
  211.   JUNJA       = 23  # Junja key
  212.   FINAL       = 24  # Final key
  213.   KANJI       = 25  # Kanji key
  214.   CONVERT     = 28  # Convert key
  215.   NONCONVERT  = 29  # Non convert key
  216.   ACCEPT      = 30  # Accept key
  217.   MODECHANGE  = 31  # Mode change request key
  218.   #---------------------------------------------------------------------------
  219.   # * OEM Keys
  220.   #   - Keys used for miscellaneous characters; they can vary by keyboard.
  221.   #---------------------------------------------------------------------------
  222.   OEM_1     = 186 # In USA 101/102 keyboards (; :)
  223.   OEM_2     = 187 # In USA 101/102 keyboards (= +)
  224.   OEM_3     = 188 # In USA 101/102 keyboards (, <)
  225.   OEM_4     = 189 # In USA 101/102 keyboards (- _)
  226.   OEM_5     = 190 # In USA 101/102 keyboards (. >)
  227.   OEM_6     = 191 # In USA 101/102 keyboards (/ ?)
  228.   OEM_7     = 192 # In USA 101/102 keyboards (` ~)
  229.   OEM_8     = 219 # In USA 101/102 keyboards ([ {)
  230.   OEM_9     = 220 # In USA 101/102 keyboards (\ |)
  231.   OEM_10    = 221 # In USA 101/102 keyboards (] })
  232.   OEM_11    = 222 # In USA 101/102 keyboards (' ")
  233.   OEM_13    = 223 # OEM key
  234.   OEM_14    = 226 # OEM key
  235.   OEM_15    = 146 # OEM key
  236.   OEM_16    = 147 # OEM key
  237.   OEM_17    = 148 # OEM key
  238.   OEM_18    = 149 # OEM key
  239.   OEM_19    = 150 # OEM key
  240.   OEM_20    = 225 # OEM key
  241.   OEM_21    = 227 # OEM key
  242.   OEM_22    = 228 # OEM key
  243.   OEM_23    = 230 # OEM key
  244.   OEM_24    = 232 # OEM key
  245.   OEM_25    = 240 # OEM key
  246.   OEM_26    = 241 # OEM key
  247.   OEM_27    = 242 # OEM key
  248.   OEM_28    = 243 # OEM key
  249.   OEM_29    = 244 # OEM key
  250.   OEM_30    = 245 # OEM key
  251.   OEM_CLEAR = 254 # OEM Clear key
  252.   #---------------------------------------------------------------------------
  253.   # * Alternative names
  254.   #---------------------------------------------------------------------------
  255.   MOUSE_1     = 1   # Mouse primary button (Normaly the left button)
  256.   MOUSE_2     = 2   # Mouse secondary button (Normaly the right button)
  257.   MOUSE_3     = 4   # Mouse middle button
  258.   MOUSE_4     = 5   # Mouse fourth button
  259.   MOUSE_5     = 6   # Mouse fifth button
  260.   TABULAR     = 9   # Tab key
  261.   ENTER       = 13  # Enter key
  262.   CONTROL     = 17  # Control key
  263.   ALTERNATIVE = 18  # Alt key
  264.   ESC         = 27  # Escape key
  265.   SPACEBAR    = 32  # Space bar key
  266.   PAGE_UP     = 33  # Page Up key
  267.   PAGE_DOWN   = 34  # Page Down key
  268.   INS         = 45  # Insert key
  269.   DEL         = 46  # Delete key
  270.   LSHIFT      = 160 # Left Shift key
  271.   RSHIFT      = 161 # Right Shift key
  272.   LCTRL       = 162 # Left Control key
  273.   RCTRL       = 163 # Right Control key
  274.   LALT        = 164 # Left Alt key
  275.   RALT        = 165 # Right Alt key
  276.   NP0         = 96  # Numberpad 0 key
  277.   NP1         = 97  # Numberpad 1 key
  278.   NP2         = 98  # Numberpad 2 key
  279.   NP3         = 99  # Numberpad 3 key
  280.   NP4         = 100 # Numberpad 4 key
  281.   NP5         = 101 # Numberpad 5 key
  282.   NP6         = 102 # Numberpad 6 key
  283.   NP7         = 103 # Numberpad 7 key
  284.   NP8         = 104 # Numberpad 8 key
  285.   NP9         = 105 # Numberpad 9 key
  286.   MULT        = 106 # Multiply key (*)
  287.   PLUS        = 107 # Add key (+)
  288.   SEP         = 108 # Separator key
  289.   MINUS       = 109 # Subtract key (-)
  290.   POINT       = 110 # Decimal key (.)
  291.   DIV         = 111 # Divide key (/)
  292.   #---------------------------------------------------------------------------
  293.   # * Keys Names
  294.   #---------------------------------------------------------------------------
  295.   KEYS_NAMES = {1=>'Mouse Primary',2=>'Mouse Secondary',3=>'Cancel',
  296.   4=>'Mouse Middle',5=>'Mouse 4th',6=>'Mouse 5th',8=>'Backspace',9=>'Tab',
  297.   12=>'Clear',13=>'Enter',16=>'Shift',17=>'Control',18=>'Alt',19=>'Pause',
  298.   20=>'Capitals Lock',21=>'Kana',23=>'Junja',24=>'Final',25=>'Kanji',
  299.   27=>'Escape',28=>'Convert',29=>'Non Convert',30=>'Accept',31=>'Mode Change',
  300.   32=>'Space',33=>'Page Up',34=>'Page Down',35=>'End',36=>'Home',37=>'Left',
  301.   38=>'Up',39=>'Right',40=>'Down',41=>'Select',42=>'Print',43=>'Execute',
  302.   44=>'Snapshot',45=>'Insert',46=>'Delete',47=>'Help',48=>'0',49=>'1',50=>'2',
  303.   51=>'3',52=>'4',53=>'5',54=>'6',55=>'7',56=>'8',57=>'9',65=>'A',66=>'B',
  304.   67=>'C',68=>'D',69=>'E',70=>'F',71=>'G',72=>'H',73=>'I',74=>'J',75=>'K',
  305.   76=>'L',77=>'M',78=>'N',79=>'O',80=>'P',81=>'Q',82=>'R',83=>'S',84=>'T',
  306.   85=>'U',86=>'V',87=>'W',88=>'X',89=>'Y',90=>'Z',91=>'Left Windows',
  307.   92=>'Right Windows',93=>'Application',95=>'Sleep',96=>'PAD 0',97=>'PAD 1',
  308.   98=>'PAD 2',99=>'PAD 3',100=>'PAD 4',101=>'PAD 5',102=>'PAD 6',103=>'PAD 7',
  309.   104=>'PAD 8',105=>'PAD 9',106=>'*',107=>'+',108=>'Separator',109=>'-',110=>'.',
  310.   111=>'/',112=>'F1',113=>'F2',114=>'F3',115=>'F4',116=>'F5',117=>'F6',118=>'F7',
  311.   119=>'F8',120=>'F9',121=>'F10',122=>'F11',123=>'F12',124=>'F13',125=>'F14',
  312.   126=>'F15',127=>'F16',128=>'F17',129=>'F18',130=>'F19',131=>'F20',132=>'F21',
  313.   133=>'F22',134=>'F23',135=>'F24',144=>'Number Lock',145=>'Scroll Lock',
  314.   146=>'OEM 15',147=>'OEM 16',148=>'OEM 17',149=>'OEM 18',150=>'OEM 19',
  315.   160=>'Left Shift',161=>'Right Shift',162=>' Left Control',163=>'Right Control',
  316.   164=>' Left Alt',165=>'Right Alt',166=>'Browser Back',167=>'Browser Forward',
  317.   168=>'Browser Refresh',169=>'Browser Stop',170=>'Browser Search',
  318.   171=>'Browser Favorites',172=>'Browser Home',173=>'Volume Mute',
  319.   174=>'Volume Down',175=>'Volume Up',176=>'Media Next Track',
  320.   177=>'Media Previous Track',178=>'Media Stop',179=>'Media Play Pause',
  321.   180=>'Launch Mail',181=>'Launch Media Select',182=>'Launch Application',
  322.   183=>'Launch Application',186=>'OEM 1',187=>'OEM 2',188=>'OEM 3',189=>'OEM 4',
  323.   190=>'OEM 5',191=>'OEM 6',192=>'OEM 7',219=>'OEM 8',220=>'OEM 9',221=>'OEM 10',
  324.   222=>'OEM 11',223=>'OEM 13',225=>'OEM 20',226=>'OEM 14',227=>'OEM 21',
  325.   228=>'OEM 22',229=>'Proccess',230=>'OEM 23',232=>'OEM 24',240=>'OEM 25',
  326.   241=>'OEM 26',242=>'OEM 27',243=>'OEM 28',244=>'OEM 29',245=>'OEM 30',
  327.   246=>'ATTN',247=>'CRSEL',248=>'EXSEL',249=>'EREOF',250=>'Play',251=>'Zoom',
  328.   253=>'PA1',254=>'OEM Clear'}
  329.   #---------------------------------------------------------------------------
  330.   # * Virtual Key to Key Name
  331.   #---------------------------------------------------------------------------
  332.   def Keys.name?(vk)
  333.     KEYS_NAMES[vk].nil? ? '???' : KEYS_NAMES[vk]
  334.   end
  335.   #---------------------------------------------------------------------------
  336.   # * Key Name to Virtual Key
  337.   #---------------------------------------------------------------------------
  338.   def Keys.vk?(name)
  339.     KEYS_NAMES.invert[name].nil? ? 0 : KEYS_NAMES.invert[name]
  340.   end
  341. end
Advertisement
Add Comment
Please, Sign In to add comment