This is fixed by clearing the ButtonPressedMap in the KeyboardMouseDevice every update.
Previously, this button would never be cleared, causing other controller actions mapped to the same button to have the incorrect state.
In this case, ContextMenu action would become 2 when pressed and 1 when released, anytime after the right mouse button was pressed.
* fix threading issue with zoom gesture
* KeyboardMouseDevice touchpad disabled to prevent interference
* device supported based on QTouchDevice::devices().count()
* remove use of jointsCaptured flag in inputDevice update, TouchscreenDevice now locks the userInputMapper * resolve conflict in Application.cpp, userInputMapper no longer loads default mapping
* 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.
Touchscreen camera control is now via a touchscreen device. Input must
be enabled with the menu option. Currently supports dragging and
gesturing to control avatar camera. Gesturing is handled by integration
of the Qt implementation.
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.