             @buttonLoop() if @keyPressedCount == 1
 
         return
-      =>
+      (evt, keys, key2) =>
+        activeKeys = KeyboardJS.activeKeys()
+        console.log key2 + " up"
+        #for key of @keyCallbackMap
+        #  if activeKeys.indexOf(key) < 0
+        #    delete @keyCallbackMap[key]
         if @keyCallbackMap[key]?
           @keyPressedCount--
           delete @keyCallbackMap[key]


    KeyboardJS.bind.key(
      key
      (evt) =>
        # When first pressed, insert the callback into
        # keyCallbackMap and start the buttonLoop.
        # Then, ignore any other events fired from the operating

        # When control key is pressed, everything is ignored, because
        # if there is any browser action attached to this (as with Ctrl + S)
        # KeyboardJS does not receive the up event.
        console.log key2 + " down"
        unless @keyCallbackMap[key]?
          if not evt.ctrlKey
            @keyPressedCount++ 
