Skip to content

Instantly share code, notes, and snippets.

@ryanbrubaker
Created June 5, 2012 03:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryanbrubaker/2872372 to your computer and use it in GitHub Desktop.
Save ryanbrubaker/2872372 to your computer and use it in GitHub Desktop.
StraightKey input view for morse code sample
class StraightKeyInput extends Backbone.View
initialize: ->
@dashTimer = null
@dashFlag = false
@wordStopTimer = null
@wordStopFlag = false
events:
'mousedown #straight-key': 'startTimers',
'mouseup #straight-key': 'sendUserInput'
startTimers: =>
@dashTimer = setTimeout(@dashTimerExpired, 250)
@wordStopTimer = setTimeout(
@wordStopTimerExpired, 1000)
dashTimerExpired: =>
@dashFlag = true
wordStopTimerExpired: =>
@wordStopFlag = true
sendUserInput: =>
if @wordStopFlag
@model.addToken(kWordStopToken)
else if @dashFlag
@model.addToken(kDashToken)
else
@model.addToken(kDotToken)
clearTimeout(@dashTimer)
clearTimeout(@wordStopTimer)
@dashFlag = false
@wordStopFlag = false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment