Skip to content

Missing Touchpad for Oculus Touch controllers #222

@dgarkov

Description

@dgarkov

Left controller warnings:

Device Oculus Touch Controller - Left doesn't have bool feature Thumbrest. Return default value instead.
UnityEngine.Debug:LogWarningFormat (string,object[])
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:GetDeviceFeatureValueOrDefault (UnityEngine.XR.InputDevice,UnityEngine.XR.InputFeatureUsage`1) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:859)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:UpdateOculusControllerState (HTC.UnityPlugin.VRModuleManagement.IVRModuleDeviceStateRW,UnityEngine.XR.InputDevice) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:667)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:UpdateControllerState (HTC.UnityPlugin.VRModuleManagement.IVRModuleDeviceStateRW,UnityEngine.XR.InputDevice) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:408)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:BeforeRenderUpdate () (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:271)
HTC.UnityPlugin.VRModuleManagement.VRModule:BeforeRenderUpdateModule () (at Assets/Libraries/HTC.UnityPlugin/VRModule/VRModuleManager.cs:326)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

Device Oculus Touch Controller - Left doesn't have float feature IndexTouch. Return default value instead.
UnityEngine.Debug:LogWarningFormat (string,object[])
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:GetDeviceFeatureValueOrDefault (UnityEngine.XR.InputDevice,UnityEngine.XR.InputFeatureUsage`1) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:889)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:UpdateOculusControllerState (HTC.UnityPlugin.VRModuleManagement.IVRModuleDeviceStateRW,UnityEngine.XR.InputDevice) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:668)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:UpdateControllerState (HTC.UnityPlugin.VRModuleManagement.IVRModuleDeviceStateRW,UnityEngine.XR.InputDevice) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:408)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:BeforeRenderUpdate () (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:271)
HTC.UnityPlugin.VRModuleManagement.VRModule:BeforeRenderUpdateModule () (at Assets/Libraries/HTC.UnityPlugin/VRModule/VRModuleManager.cs:326)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

Device Oculus Touch Controller - Left doesn't have float feature ThumbTouch. Return default value instead.
UnityEngine.Debug:LogWarningFormat (string,object[])
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:GetDeviceFeatureValueOrDefault (UnityEngine.XR.InputDevice,UnityEngine.XR.InputFeatureUsage`1) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:889)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:UpdateOculusControllerState (HTC.UnityPlugin.VRModuleManagement.IVRModuleDeviceStateRW,UnityEngine.XR.InputDevice) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:669)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:UpdateControllerState (HTC.UnityPlugin.VRModuleManagement.IVRModuleDeviceStateRW,UnityEngine.XR.InputDevice) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:408)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:BeforeRenderUpdate () (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:271)
HTC.UnityPlugin.VRModuleManagement.VRModule:BeforeRenderUpdateModule () (at Assets/Libraries/HTC.UnityPlugin/VRModule/VRModuleManager.cs:326)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

Right controller warnings:

Device Oculus Touch Controller - Right doesn't have bool feature Thumbrest. Return default value instead.
UnityEngine.Debug:LogWarningFormat (string,object[])
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:GetDeviceFeatureValueOrDefault (UnityEngine.XR.InputDevice,UnityEngine.XR.InputFeatureUsage1<bool>) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:859) HTC.UnityPlugin.VRModuleManagement.UnityXRModule:UpdateOculusControllerState (HTC.UnityPlugin.VRModuleManagement.IVRModuleDeviceStateRW,UnityEngine.XR.InputDevice) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:667) HTC.UnityPlugin.VRModuleManagement.UnityXRModule:UpdateControllerState (HTC.UnityPlugin.VRModuleManagement.IVRModuleDeviceStateRW,UnityEngine.XR.InputDevice) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:408) HTC.UnityPlugin.VRModuleManagement.UnityXRModule:BeforeRenderUpdate () (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:271) HTC.UnityPlugin.VRModuleManagement.VRModule:BeforeRenderUpdateModule () (at Assets/Libraries/HTC.UnityPlugin/VRModule/VRModuleManager.cs:326) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) Device Oculus Touch Controller - Right doesn't have float feature IndexTouch. Return default value instead. UnityEngine.Debug:LogWarningFormat (string,object[]) HTC.UnityPlugin.VRModuleManagement.UnityXRModule:GetDeviceFeatureValueOrDefault (UnityEngine.XR.InputDevice,UnityEngine.XR.InputFeatureUsage1) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:889)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:UpdateOculusControllerState (HTC.UnityPlugin.VRModuleManagement.IVRModuleDeviceStateRW,UnityEngine.XR.InputDevice) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:668)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:UpdateControllerState (HTC.UnityPlugin.VRModuleManagement.IVRModuleDeviceStateRW,UnityEngine.XR.InputDevice) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:408)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:BeforeRenderUpdate () (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:271)
HTC.UnityPlugin.VRModuleManagement.VRModule:BeforeRenderUpdateModule () (at Assets/Libraries/HTC.UnityPlugin/VRModule/VRModuleManager.cs:326)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
Device Oculus Touch Controller - Right doesn't have float feature ThumbTouch. Return default value instead.
UnityEngine.Debug:LogWarningFormat (string,object[])
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:GetDeviceFeatureValueOrDefault (UnityEngine.XR.InputDevice,UnityEngine.XR.InputFeatureUsage`1) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:889)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:UpdateOculusControllerState (HTC.UnityPlugin.VRModuleManagement.IVRModuleDeviceStateRW,UnityEngine.XR.InputDevice) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:669)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:UpdateControllerState (HTC.UnityPlugin.VRModuleManagement.IVRModuleDeviceStateRW,UnityEngine.XR.InputDevice) (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:408)
HTC.UnityPlugin.VRModuleManagement.UnityXRModule:BeforeRenderUpdate () (at Assets/Libraries/HTC.UnityPlugin/VRModule/Modules/UnityXRModule.cs:271)
HTC.UnityPlugin.VRModuleManagement.VRModule:BeforeRenderUpdateModule () (at Assets/Libraries/HTC.UnityPlugin/VRModule/VRModuleManager.cs:326)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)

VIU version: v1.12.0
Unity version: 2020.2.7

Probably some are not relevant for the Touch controllers, e. g. IndexTouch, but even then the spilled warning every second are an annoyance. More importantly, the effect is that touchpad events cannot be resolved. The following sample (closed issue #65) does not work:

if (ViveInput.GetPress(HandRole.RightHand, ControllerButton.PadTouch))
{
    Debug.Log("padAxis = " + ViveInput.GetPadAxisEx(HandRole.RightHand));
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions