#==============================================================================
# Keyboard Input Module
#----------------------------------------------------------------------------
# Script by Cybersam
#==============================================================================
module Input
 @keys = []
 @pressed = []
 Mouse_Left = 1
 Mouse_Right = 2
 Mouse_Middle = 4
 Back= 8
 Tab = 9
 Enter = 13
 Shift = 16
 Ctrl = 17
 Alt = 18
 Esc = 27
 Space = 32
 Numberkeys = {}
 Numberkeys[0] = 48    # => 0
 Numberkeys[1] = 49    # => 1
 Numberkeys[2] = 50    # => 2
 Numberkeys[3] = 51    # => 3
 Numberkeys[4] = 52    # => 4
 Numberkeys[5] = 53    # => 5
 Numberkeys[6] = 54    # => 6
 Numberkeys[7] = 55    # => 7
 Numberkeys[8] = 56    # => 8
 Numberkeys[9] = 57    # => 9
 Numberpad = {}
 Numberpad[0] = 45
 Numberpad[1] = 35
 Numberpad[2] = 40
 Numberpad[3] = 34
 Numberpad[4] = 37
 Numberpad[5] = 12
 Numberpad[6] = 39
 Numberpad[7] = 36
 Numberpad[8] = 38
 Numberpad[9] = 33
 Letters = {}
 Letters["A"] = 65
 Letters["B"] = 66
 Letters["C"] = 67
 Letters["D"] = 68
 Letters["E"] = 69
 Letters["F"] = 70
 Letters["G"] = 71
 Letters["H"] = 72
 Letters["I"] = 73
 Letters["J"] = 74
 Letters["K"] = 75
 Letters["L"] = 76
 Letters["M"] = 77
 Letters["N"] = 78
 Letters["O"] = 79
 Letters["P"] = 80
 Letters["Q"] = 81
 Letters["R"] = 82
 Letters["S"] = 83
 Letters["T"] = 84
 Letters["U"] = 85
 Letters["V"] = 86
 Letters["W"] = 87
 Letters["X"] = 88
 Letters["Y"] = 89
 Letters["Z"] = 90
 Fkeys = {}
 Fkeys[1] = 112
 Fkeys[2] = 113
 Fkeys[3] = 114
 Fkeys[4] = 115
 Fkeys[5] = 116
 Fkeys[6] = 117
 Fkeys[7] = 118
 Fkeys[8] = 119
 Fkeys[9] = 120
 Fkeys[10] = 121
 Fkeys[11] = 122
 Fkeys[12] = 123
 Collon = 186    # => \ |
 Equal = 187    # => = +
 Comma = 188    # => , <
 Underscore = 189  # => - _
 Dot = 190     # => . >
 Backslash = 191  # => / ?
 Lb = 219
 Rb = 221
 Quote = 222    # => '"
 #-------------------------------------------------------------------------------
 USED_KEYS = [Mouse_Left, Mouse_Right, Mouse_Middle]
 #-------------------------------------------------------------------------------
Â
module_function
 #--------------------------------------------------------------------------
 def triggered?(key)
  Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(key) & 0x01 == 1
 end
 #--------------------------------------------------------------------------
 def check(key)
  Win32API.new("user32","GetAsyncKeyState",['i'],'i').call(key) & 0x01 == 1
 end
 #--------------------------------------------------------------------------
 def pressed?(key)
  return true unless Win32API.new("user32","GetKeyState",['i'],'i').call(key).between?(0, 1)
  return false
 end
 #--------------------------------------------------------------------------
 def mouse_update
  @used_i = []
  for i in USED_KEYS
   x = check(i)
   if x == true
    @used_i.push(i)
   end
  end
 end
 #--------------------------------------------------------------------------
 def self.C
  self.trigger?(C)
 end
 #--------------------------------------------------------------------------
 def self.B
  self.trigger?(B)
 end
 #--------------------------------------------------------------------------
 def self.A
  self.trigger?(A)
 end
 #--------------------------------------------------------------------------
 def self.Down
  self.trigger?(DOWN)
 end
 #--------------------------------------------------------------------------
 def self.Up
  self.trigger?(UP)
 end
 #--------------------------------------------------------------------------
 def self.Right
  self.trigger?(RIGHT)
 end
 #--------------------------------------------------------------------------
 def self.Left
  self.trigger?(LEFT)
 end
 #--------------------------------------------------------------------------
 def self.Anykey
  if A or B or C or Down or Up or Right or Left
   return true
  else
   return false
  end
 end
 #--------------------------------------------------------------------------
end