openvr icon indicating copy to clipboard operation
openvr copied to clipboard

Input from wands sometimes fails to update

Open Plystire opened this issue 7 years ago • 5 comments

There has been a long-running problem with the SteamVR input from the "SteamVR_Controller.Device" class using the "GetPress" methods. During play, after many presses from the user, a button can randomly get "stuck" and fail to update when released/pressed.

The hardware buttons aren't getting stuck, it's definitely a software issue somewhere. If a button is stuck, say the grip button, you can just touch (not press) the touchpad and the button will magically become unstuck, updating alongside the touchpad input.

Replication can take a little bit of time. When I actually counted the number of presses before stick, it failed exactly on the 80th "click". Though, I have experienced sticks in rapid succession before.

According to the community this has been a thing for quite a while. I have just kind of dealt with it up until now, but "tripping" in my game, due to grip button randomly sticking, is proving to be too much to tolerate. :( I am honestly surprised I didn't see an issue in here mentioning this, seeing how long it's been happening.

Plystire avatar Dec 04 '18 02:12 Plystire

Unfortunately SteamVR_Controller.Device is no longer a supported method of getting input. Can you reproduce this with the new input system?

keithbradner avatar Dec 04 '18 19:12 keithbradner

Okay, I've changed my code over to using [SteamVR_Action_Boolean].[GetStateUp]/[GetStateDown] for button transitions.

The sticking issue persists. I encountered it quickly at first, within 50 clicks, but then had a long period of it not occurring (~2-5 mins) before it happened again. Btw, I've only experienced this issue with the grip button as my other game inputs are vectors or are infrequently used.

I am not sure what could be causing it to miss an input transition, but it can miss both down and up transitions. Converting to [GetState] and capturing transition myself didn't help.

It seems that it's dropping an update event somewhere, but I can't imagine why it would only happen every so often. My statements from before still hold true. When an input fails to update, updating any other input will cause the failed update to go through without physically touching it.

Plystire avatar Dec 09 '18 09:12 Plystire

Thanks for the report. I was able to reproduce this, we'll investigate more. Hopefully it's a software thing and not the hardware. (one we can fix)

keithbradner avatar Dec 10 '18 00:12 keithbradner

Thanks for the follow up, @keithbradner. Here's hoping :)

Plystire avatar Dec 10 '18 00:12 Plystire

I have experienced this issue in UE4 using their motion controller commands for pressing and releasing the grips. This seems to be a VIVE hardware/software problem specifically. Has there been any progress made on this?

briandrehoff avatar May 30 '19 03:05 briandrehoff