Commit graph

10 commits

Author SHA1 Message Date
SamGondelman
912b35693b added vive single pulse haptics 2016-06-02 18:13:33 -07:00
howard-stearns
a3f1ece978 Do button mapping in C++ and simplify vive.json accordingly. Vive and
Hydra now use PrimaryThumb and SecondaryThumb. Fix warnings for Neuron.
2016-05-24 16:10:12 -07:00
Brad Davis
07562f72af Doing a pass over the input plugins and controller code 2016-05-20 14:50:23 -07:00
Anthony J. Thibault
09a4e0eaa8 Fix for vive controllers sometimes not working
* Fixed bug with input devices that where added, removed then re-added.
  The default mappings were being ignored on the second add.
* Fixed potential crash when hardware inputPlugin device poses were polled from the JavaScript thread
  by taking the UserInputManager lock during pluginUpdate.
* Renamed Controller.Hardware.Vive.LB & RB to LeftGrip and RightGrip, to better match Oculus touch.
* Updated resource/controller/vive.json to reflect this new mapping.
* Exposed touch pad capacitive touch events to JavaScript as
  Controller.Hardware.Vive.LSTouch and RSTouch.
* Added viveTouchpadTest.js script to test LSTouch and RSTouch events.
2016-05-10 19:32:08 -07:00
Zach Pomerantz
931cad34d1 Check plugin activation success 2016-03-28 12:05:58 -07:00
Anthony Thibault
89885805d2 OpenVR: Added hysteresis to the touch pad dead spot
This should make using the Vive touch pad for movement more reliable.
2016-02-26 18:34:33 -08:00
Anthony J. Thibault
01ef5aabcb OpenVR: More reliable detection of left and right hands 2016-02-26 14:38:35 -08:00
Anthony Thibault
3b87cd0ea8 Improve hold action by using controller velocity
The AvatarHoldAction now derives the body velocity by using data from the controller::Pose.  Rather then trying to derive it based on previous positions.  This results in more acurate motion of the held object when the hold is released.

OpenVR input plugin: pass the velocity and angularVelocity directly from the controller pose to the controller::Pose.
2016-02-22 19:15:22 -08:00
Anthony J. Thibault
111ed65bf8 Controller Pose values are relative to Avatar.
Pass a InputCalibrationData to each inputPlugin and inputDevice.
This contains the most up sensorToWorldMatrix, avatarMat and hmdSensorMatrix.
Each input plugin can use this data to transform it's poses into Avatar space
before sending it up the chain.

This fixes a bug in the handControllerGrab.js script that relied on the hand controller
rotation/positions being in the avatar frame.
2016-02-11 17:18:01 -08:00
Brad Davis
978d39b7f4 Moving OpenVR to external plugin and updating to latest version 2015-12-09 16:20:24 -08:00
Renamed from libraries/input-plugins/src/input-plugins/ViveControllerManager.h (Browse further)