@@ -22,12 +22,12 @@ private struct DeviceFeature
22
22
{
23
23
private ulong featuresField ;
24
24
25
- public bool supportedTracking
25
+ public bool supportTracking
26
26
{
27
27
get { return ( featuresField & ( ulong ) WVR_SupportedFeature . WVR_SupportedFeature_HandTracking ) > 0ul ; }
28
28
}
29
29
30
- public bool supportedGesture
30
+ public bool supportGesture
31
31
{
32
32
get { return ( featuresField & ( ulong ) WVR_SupportedFeature . WVR_SupportedFeature_HandGesture ) > 0ul ; }
33
33
}
@@ -43,8 +43,7 @@ public void Fetch()
43
43
private GestureActivator gestureActivator = GestureActivator . Default ;
44
44
private uint leftDeviceIndex = VRModule . INVALID_DEVICE_INDEX ;
45
45
private uint rightDeviceIndex = VRModule . INVALID_DEVICE_INDEX ;
46
- private static WVR_HandTrackerType preferredTrackerType =
47
- VRModuleSettings . enableWaveNaturalHand ? WVR_HandTrackerType . WVR_HandTrackerType_Natural : WVR_HandTrackerType . WVR_HandTrackerType_Electronic ;
46
+ private static WVR_HandTrackerType preferredTrackerType = WVR_HandTrackerType . WVR_HandTrackerType_Natural ;
48
47
private static WVR_HandModelType showElectronicHandWithController =
49
48
VRModuleSettings . showWaveElectronicHandWithController ?
50
49
WVR_HandModelType . WVR_HandModelType_WithController : WVR_HandModelType . WVR_HandModelType_WithoutController ;
@@ -58,12 +57,13 @@ protected override void OnActivated()
58
57
59
58
protected override void OnDeactivated ( )
60
59
{
61
- //GestureInterface.StopGestureDetection();
60
+ trackingActivator . SetActive ( false ) ;
61
+ gestureActivator . SetActive ( false ) ;
62
62
}
63
63
64
64
protected override void OnUpdateDeviceConnectionAndPoses ( )
65
65
{
66
- trackingActivator . SetActive ( VRModuleSettings . activateWaveHandTrackingSubmodule ) ;
66
+ trackingActivator . SetActive ( deviceFeature . supportTracking ) ;
67
67
68
68
if ( VRModule . trackingSpaceType == VRModuleTrackingSpaceType . RoomScale )
69
69
{
@@ -144,7 +144,7 @@ protected override void OnUpdateDeviceConnectionAndPoses()
144
144
145
145
protected override void OnUpdateDeviceInput ( )
146
146
{
147
- gestureActivator . SetActive ( VRModuleSettings . enableWaveHandGesture ) ;
147
+ gestureActivator . SetActive ( VRModuleSettings . enableWaveHandGesture && deviceFeature . supportGesture ) ;
148
148
149
149
gestureActivator . TryFetchData ( ) ;
150
150
@@ -788,11 +788,13 @@ public void UpdateGestureInput(IVRModuleDeviceStateRW state, bool isLeft)
788
788
state . SetButtonPress ( VRModuleRawButton . GestureIndexUp , gesture == WVR_HandGestureType . WVR_HandGestureType_IndexUp ) ;
789
789
state . SetButtonPress ( VRModuleRawButton . GestureOk , gesture == WVR_HandGestureType . WVR_HandGestureType_OK ) ;
790
790
state . SetButtonPress ( VRModuleRawButton . GestureThumbUp , gesture == WVR_HandGestureType . WVR_HandGestureType_ThumbUp ) ;
791
+ state . SetButtonPress ( VRModuleRawButton . System , gesture == WVR_HandGestureType . WVR_HandGestureType_Inverse ) ;
791
792
state . SetButtonTouch ( VRModuleRawButton . GestureFist , gesture == WVR_HandGestureType . WVR_HandGestureType_Fist ) ;
792
793
state . SetButtonTouch ( VRModuleRawButton . GestureFive , gesture == WVR_HandGestureType . WVR_HandGestureType_Five ) ;
793
794
state . SetButtonTouch ( VRModuleRawButton . GestureIndexUp , gesture == WVR_HandGestureType . WVR_HandGestureType_IndexUp ) ;
794
795
state . SetButtonTouch ( VRModuleRawButton . GestureOk , gesture == WVR_HandGestureType . WVR_HandGestureType_OK ) ;
795
796
state . SetButtonTouch ( VRModuleRawButton . GestureThumbUp , gesture == WVR_HandGestureType . WVR_HandGestureType_ThumbUp ) ;
797
+ state . SetButtonTouch ( VRModuleRawButton . System , gesture == WVR_HandGestureType . WVR_HandGestureType_Inverse ) ;
796
798
}
797
799
798
800
public bool isLeftValid { get { return gestureData . left != WVR_HandGestureType . WVR_HandGestureType_Invalid ; } }
0 commit comments