@@ -22,12 +22,12 @@ private struct DeviceFeature
2222 {
2323 private ulong featuresField ;
2424
25- public bool supportedTracking
25+ public bool supportTracking
2626 {
2727 get { return ( featuresField & ( ulong ) WVR_SupportedFeature . WVR_SupportedFeature_HandTracking ) > 0ul ; }
2828 }
2929
30- public bool supportedGesture
30+ public bool supportGesture
3131 {
3232 get { return ( featuresField & ( ulong ) WVR_SupportedFeature . WVR_SupportedFeature_HandGesture ) > 0ul ; }
3333 }
@@ -57,12 +57,13 @@ protected override void OnActivated()
5757
5858 protected override void OnDeactivated ( )
5959 {
60- //GestureInterface.StopGestureDetection();
60+ trackingActivator . SetActive ( false ) ;
61+ gestureActivator . SetActive ( false ) ;
6162 }
6263
6364 protected override void OnUpdateDeviceConnectionAndPoses ( )
6465 {
65- trackingActivator . SetActive ( VRModuleSettings . activateWaveHandTrackingSubmodule ) ;
66+ trackingActivator . SetActive ( deviceFeature . supportTracking ) ;
6667
6768 if ( VRModule . trackingSpaceType == VRModuleTrackingSpaceType . RoomScale )
6869 {
@@ -143,7 +144,7 @@ protected override void OnUpdateDeviceConnectionAndPoses()
143144
144145 protected override void OnUpdateDeviceInput ( )
145146 {
146- gestureActivator . SetActive ( VRModuleSettings . enableWaveHandGesture ) ;
147+ gestureActivator . SetActive ( VRModuleSettings . enableWaveHandGesture && deviceFeature . supportGesture ) ;
147148
148149 gestureActivator . TryFetchData ( ) ;
149150
@@ -787,11 +788,13 @@ public void UpdateGestureInput(IVRModuleDeviceStateRW state, bool isLeft)
787788 state . SetButtonPress ( VRModuleRawButton . GestureIndexUp , gesture == WVR_HandGestureType . WVR_HandGestureType_IndexUp ) ;
788789 state . SetButtonPress ( VRModuleRawButton . GestureOk , gesture == WVR_HandGestureType . WVR_HandGestureType_OK ) ;
789790 state . SetButtonPress ( VRModuleRawButton . GestureThumbUp , gesture == WVR_HandGestureType . WVR_HandGestureType_ThumbUp ) ;
791+ state . SetButtonPress ( VRModuleRawButton . System , gesture == WVR_HandGestureType . WVR_HandGestureType_Inverse ) ;
790792 state . SetButtonTouch ( VRModuleRawButton . GestureFist , gesture == WVR_HandGestureType . WVR_HandGestureType_Fist ) ;
791793 state . SetButtonTouch ( VRModuleRawButton . GestureFive , gesture == WVR_HandGestureType . WVR_HandGestureType_Five ) ;
792794 state . SetButtonTouch ( VRModuleRawButton . GestureIndexUp , gesture == WVR_HandGestureType . WVR_HandGestureType_IndexUp ) ;
793795 state . SetButtonTouch ( VRModuleRawButton . GestureOk , gesture == WVR_HandGestureType . WVR_HandGestureType_OK ) ;
794796 state . SetButtonTouch ( VRModuleRawButton . GestureThumbUp , gesture == WVR_HandGestureType . WVR_HandGestureType_ThumbUp ) ;
797+ state . SetButtonTouch ( VRModuleRawButton . System , gesture == WVR_HandGestureType . WVR_HandGestureType_Inverse ) ;
795798 }
796799
797800 public bool isLeftValid { get { return gestureData . left != WVR_HandGestureType . WVR_HandGestureType_Invalid ; } }
0 commit comments