           keyCode = if window.event then e.which else e.keyCode
           if $(inputs).data('hotkey')
             inputs.each (index) ->
-              if keyCode is $(inputs[index]).data("hotkey").toString().charCodeAt(0)
+              hotkeyVal = $(inputs[index]).data("hotkey").toString().charCodeAt(0)
+              if (keyCode is hotkeyVal) or (keyCode-48 is hotkeyVal)
                 if !($(inputs[index]).prop "checked") and ($(inputs[index]).data('object') == "reveal-next-input")
                   revealNextInput($(inputs[index]).data('target'))
                 $(inputs[index]).prop "checked", !$(inputs[index]).prop("checked")

          inputs = $(".survey-container.active").find("input:radio")
          keyCode = if window.event then e.which else e.keyCode
          inputs.each (index) ->
            if keyCode is $(this).data("hotkey").toString().charCodeAt(0)
              $(inputs[index]).prop "checked", true
              handleChangedValue($(inputs[index]))
              if $(inputs[index]).data('object') == "reveal-next-input" then revealNextInput($(inputs[index]).data('target')) else assignQuestion(true, false)

        else if keyCode is 46 or keyCode is 8
          writeDate(e.keyCode)
          return
        else if (/^[0-9]{1,10}$/.test(keyCode-48) or /^[0-9]{1,10}$/.test(keyCode-96))
          # allow number to be written
          # e.preventDefault()
          writeDate(e.keyCode)
        else if (/^[a-zA-Z]*$/.test(+String.fromCharCode(keyCode)))
          # prevent letter from returning
          e.preventDefault()

  $("body").keyup (e) ->
    e = e || window.event
