Skip to content

Instantly share code, notes, and snippets.

@steveruizok
Created March 14, 2018 14:46
Show Gist options
  • Save steveruizok/97d836874860ea8174826e374c486a65 to your computer and use it in GitHub Desktop.
Save steveruizok/97d836874860ea8174826e374c486a65 to your computer and use it in GitHub Desktop.
# Capture keyboard events
keyHandlers = {}
enabled = false
enable = ->
window.addEventListener 'keydown', (event) ->
event.preventDefault() if exports.preventDefault
try keyHandlers[event.key]()
enabled = true
_.assign exports,
on: (key, handler, throttleTime) ->
enable() unless enabled
keyHandlers[key] = Utils.throttle throttleTime, handler
off: (key, handler, throttleTime) ->
enable() unless enabled
delete keyHandlers[key]
printKey: (event) -> print event.key
preventDefault: false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment