ViveSoftware / ViveInputUtility-Unity

A toolkit that helps developing/prototyping VR apps.
http://u3d.as/uF7
Other
352 stars 82 forks source link

Oculus Touch Grip Not Bound #91

Open CodingJar opened 5 years ago

CodingJar commented 5 years ago

I'm not able to bind to the Oculus Touch Grip. The Axis I'm using (CapSenseGrip) show no values, and the Press only triggers once pressed for a certain amount of time. That is to say that ViveInput.GetPressEx(handRole, ControllerButton.Grip); only triggers after the Grip has been held down for about one second, and that ViveInput.GetAxisEx( handRole, ControllerAxis.CapSenseGrip ) always returns zero. In my software, I had to instead fallback on Input.GetKey( KeyCode.JoystickButton5 ) from the Unity docs to get accurate grip readings.

It's possible CapSenseGrip is the wrong value, and there should be a ControllerAxis.Grip bound to that Joystick. The GetPressEx is still weird, not sure why it would only trigger after a certain amount of time.

chengnay commented 5 years ago

@CodingJar We will add cap sense grip for Oculus Touch, previously we have this part missing. You can quickly fix this issue by below screenshot attached. image Basically, add a trigger for Grip and assign CapSenseGrip for both controllers.

CodingJar commented 5 years ago

Hello @chengnay, I believe I may not be using the library as you intend, since I've never seen that page before. I'm shoehorning this into an existing project, use only the most basic GetPressEx functionality. I've just re-confirmed the "bug" that Grip button is only considered pressed after it has been fully held down for about a second using your ColliderEvent demo, and it sounds like you're already aware of the CapSenseGrip issue.

I should note that I tried to bind to the 'Menu' button today (ControllerButton.Menu) for Oculus and also had that fail. It appears to me that Unity's documentation is also incorrect for this case -- It's JoystickButton6 not 7 as was incorrectly documented here: https://docs.unity3d.com/Manual/OculusControllers.html. I've also read it's impossible to bind to Menu on OpenVR, is that correct?

I'm using Unity 2018.3.4f1. I upgraded to ViveInputUtility_v1.10.3 for these tests.

chengnay commented 5 years ago

Hello @chengnay, I believe I may not be using the library as you intend, since I've never seen that page before. I'm shoehorning this into an existing project, use only the most basic GetPressEx functionality. I've just re-confirmed the "bug" that Grip button is only considered pressed after it has been fully held down for about a second using your ColliderEvent demo, and it sounds like you're already aware of the CapSenseGrip issue.

I should note that I tried to bind to the 'Menu' button today (ControllerButton.Menu) for Oculus and also had that fail. It appears to me that Unity's documentation is also incorrect for this case -- It's JoystickButton6 not 7 as was incorrectly documented here: https://docs.unity3d.com/Manual/OculusControllers.html. I've also read it's impossible to bind to Menu on OpenVR, is that correct?

I'm using Unity 2018.3.4f1. I upgraded to ViveInputUtility_v1.10.3 for these tests.

I guess you are using the native Unity engine instead of SteamVR Plugin. We will check the native Unity engine again and get back to you later. Can you confirm which package did you install in PackageManager? Please refer to the image attached. image