From 416a47cfc7d26a3b8eb18351f4d683cd55f9f93f Mon Sep 17 00:00:00 2001
From: Dante Ruiz <danteruiz102@gmail.com>
Date: Tue, 14 Nov 2017 09:34:17 -0800
Subject: [PATCH] adding controller haptic feedback to tablet onPress

---
 .../controllerModules/tabletStylusInput.js          | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/scripts/system/controllers/controllerModules/tabletStylusInput.js b/scripts/system/controllers/controllerModules/tabletStylusInput.js
index 9c94abc2f0..6e75c6d15d 100644
--- a/scripts/system/controllers/controllerModules/tabletStylusInput.js
+++ b/scripts/system/controllers/controllerModules/tabletStylusInput.js
@@ -173,6 +173,18 @@ Script.include("/~/system/libraries/controllers.js");
         }
     }
 
+    var HAPTIC_STYLUS_STRENGTH = 1.0;
+    var HAPTIC_STYLUS_DURATION = 20.0;
+    function mousePress(overlayID, event) {
+        if (HMD.active) {
+            if (event.id === leftTabletStylusInput.pointer && event.button === "Primary") {
+                Controller.triggerHapticPulse(HAPTIC_STYLUS_STRENGTH, HAPTIC_STYLUS_DURATION, LEFT_HAND);
+            } else if (event.id === rightTabletStylusInput.pointer && event.button === "Primary") {
+                Controller.triggerHapticPulse(HAPTIC_STYLUS_STRENGTH, HAPTIC_STYLUS_DURATION, RIGHT_HAND);
+            }
+        }
+    }
+
     var leftTabletStylusInput = new TabletStylusInput(LEFT_HAND);
     var rightTabletStylusInput = new TabletStylusInput(RIGHT_HAND);
 
@@ -181,6 +193,7 @@ Script.include("/~/system/libraries/controllers.js");
 
     Overlays.hoverEnterOverlay.connect(mouseHoverEnter);
     Overlays.hoverLeaveOverlay.connect(mouseHoverLeave);
+    Overlays.mousePressOnOverlay.connect(mousePress);
 
     this.cleanup = function () {
         leftTabletStylusInput.cleanup();