diff --git a/src/components/super-cursor.js b/src/components/super-cursor.js
index c93bf8da15234ed38ab1eba7b55712f59adea20f..ee70e960663144709f17108d70a2378a6bc9f935 100644
--- a/src/components/super-cursor.js
+++ b/src/components/super-cursor.js
@@ -104,15 +104,10 @@ AFRAME.registerComponent("super-cursor", {
   },
 
   _isInteractable: function(el) {
-    if (el.className === "interactable") {
-      return true;
-    }
-
-    if (el.parentNode && el.parentNode != el.sceneEl) {
-      return this._isInteractable(el.parentNode);
-    }
-
-    return false;
+    return (
+      el.className === "interactable" ||
+      (el.parentNode && el.parentNode != el.sceneEl && this._isInteractable(el.parentNode))
+    );
   },
 
   _handleMouseDown: function() {
@@ -134,7 +129,19 @@ AFRAME.registerComponent("super-cursor", {
   },
 
   _handleWheel: function(e) {
-    if (this.isGrabbing) this.currentDistanceMod += e.deltaY / 10;
+    if (this.isGrabbing) {
+      switch (e.deltaMode) {
+        case e.DOM_DELTA_PIXEL:
+          this.currentDistanceMod += e.deltaY / 500;
+          break;
+        case e.DOM_DELTA_LINE:
+          this.currentDistanceMod += e.deltaY / 10;
+          break;
+        case e.DOM_DELTA_PAGE:
+          this.currentDistanceMod += e.deltaY / 2;
+          break;
+      }
+    }
   },
 
   _handleEnterVR: function() {