Advertisement
Freack100

Event Remapper

Apr 9th, 2015
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.66 KB | None | 0 0
  1.  local map = {}
  2.  
  3. function addRemap(expected,modifier)
  4.     map[expected] = modifier
  5. end
  6.  
  7. function removeRemap(expected)
  8.     map[expected] = nil
  9. end
  10.  
  11. function pullEvent(filter)
  12.     local evt = {os.pullEventRaw(filter or nil)}
  13.     for k,v in pairs(map) do
  14.         if(k[1] == evt[1]) then --The same event type
  15.             local fits = true
  16.             for i = 2,#evt-1 do
  17.                 if(k[i] == nil or k[i] == evt[i]) then
  18.                 else
  19.                     fits = false
  20.                     break
  21.                 end
  22.             end
  23.             if(fits) then
  24.                 e = v(evt)
  25.                 if(e[1] == "terminate") then
  26.                     error("Terminated",0)
  27.                 end
  28.                 return unpack(e)
  29.             end
  30.         end
  31.     end
  32.     return unpack(evt)
  33. end
  34.  
  35. function inject()
  36.     os.pullEvent = pullEvent
  37. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement