Problem with Controller Trackpad. Need some help

BSC
Settler

Re: Problem with Controller Trackpad. Need some help

@ZaCkOX, @Synthesis

I'm a developer of a VR application and I have confirmed this issue on 4 different sets of VIVE hardware and PCs. Due to what I can only assume to be a bug present in OpenVR/SteamVR the VIVE controller touch pad release event might not be registered until another input action is performed. This causes the touch pad to be in a touched state for longer than it actually was touched.

 

I confirmed this on both the latest stable and beta version of SteamVR. I don't think it is affected by distance between controller and HMD.

 

I wrote a tiny console application to easily confirm the existence of this bug which can be downloaded for Windows from GitHub (source code is available here).


Normal touch process

A regular touch event has a ButtonTouch event on begin and ButtonUntouch event at the end

--- TOUCH START ---
[23.28] Event VREvent_ButtonTouch (202) - Age: 0.000013 - Button: 32
[23.28] Device: 1 - PacketNum: 11506 - Touch: 1 - Press: 0 - X: -0.50331 - Y: -0.74837 - Trigger: 0.00
[23.29] Device: 1 - PacketNum: 11508 - Touch: 1 - Press: 0 - X: -0.31482 - Y: -0.77153 - Trigger: 0.00
[23.31] Device: 1 - PacketNum: 11510 - Touch: 1 - Press: 0 - X: -0.04536 - Y: -0.77014 - Trigger: 0.00
[23.32] Event VREvent_ButtonUntouch (203) - Age: -0.000006 - Button: 32
[23.32] Device: 1 - PacketNum: 11513 - Touch: 0 - Press: 0 - X: 0.00000 - Y: 0.00000 - Trigger: 0.00
--- TOUCH END ---

Bugged touch process

A touch event that is affected by the bug will only have a ButtonTouch event at first.

Usually swiping across the touch pad with a slight touch for 10 to 50 times results in at least one bugged process.

--- TOUCH START ---
[36.32] Device: 1 - PacketNum: 19213 - Touch: 1 - Press: 0 - X: 0.000000 - Y: 0.000000 - Trigger: 0.00
[36.32] Event VREvent_ButtonTouch (202) - Age: 0.000810 - Button: 32
[36.32] Device: 1 - PacketNum: 19215 - Touch: 1 - Press: 0 - X: -0.33845 - Y: -0.80251 - Trigger: 0.00
[36.33] Device: 1 - PacketNum: 19216 - Touch: 1 - Press: 0 - X: -0.25579 - Y: -0.80251 - Trigger: 0.00
[36.33] Device: 1 - PacketNum: 19217 - Touch: 1 - Press: 0 - X: -0.25579 - Y: -0.80740 - Trigger: 0.00
[36.36] Device: 1 - PacketNum: 19219 - Touch: 1 - Press: 0 - X: -0.15010 - Y: -0.79756 - Trigger: 0.00
[36.38] Device: 1 - PacketNum: 19220 - Touch: 1 - Press: 0 - X: 0.02383 - Y: -0.79756 - Trigger: 0.00
[36.38] Device: 1 - PacketNum: 19221 - Touch: 1 - Press: 0 - X: 0.02383 - Y: -0.77761 - Trigger: 0.00
[36.39] Device: 1 - PacketNum: 19223 - Touch: 1 - Press: 0 - X: 0.22799 - Y: -0.74648 - Trigger: 0.00

After the 36.39 timestamp the finger was physically released from the touch pad but OpenVR did not process the untouch event.

10 seconds later the trigger on the VIVE controller was slightly pressed and thus another input action was performed which in turn finally sends the ButtonUntouch event but way too late.

[45.93] Event VREvent_ButtonUntouch (203) - Age: -0.000009 - Button: 32
[45.93] Device: 1 - PacketNum: 19226 - Touch: 0 - Press: 0 - X: 0.00000 - Y: 0.00000 - Trigger: 0.00
--- TOUCH END ---

[45.94] Device: 1 - PacketNum: 19229 - Touch: 0 - Press: 0 - X: 0.00000 - Y: 0.00000 - Trigger: 0.02
[45.96] Device: 1 - PacketNum: 19232 - Touch: 0 - Press: 0 - X: 0.00000 - Y: 0.00000 - Trigger: 0.00

If you're a developer of a VR application I posted some hints how to implement a workaround for this problem in the README.md.

 

But hopefully this can be completely fixed with an update in SteamVR itself?

pat_trick
Settler

Re: Problem with Controller Trackpad. Need some help

Probably want to add this as an issue at https://github.com/ValveSoftware/openvr/issues if you haven't already.
BSC
Settler

Re: Problem with Controller Trackpad. Need some help

@pat_trickThanks for the tip! I thought about reporting this somewhere else than this user support forum but somehow all I could think of was the forums on Steam. Duh, opening a issue on GitHub is a no-brainer. I did so here: https://github.com/ValveSoftware/openvr/issues/833

ZaCkOX
Settler

Re: Problem with Controller Trackpad. Need some help

I have tested my game with my CV1 Oculus and can't find a bug with any of the movement and their joysticks, using exact same code to SteamVR. This is only connected with Vive and the trackpad touch that I know of. While your work around is to monitor the touch press, we are doing an extra step we shouldn't have to. I wish someone would just fix it properly.

Re: Problem with Controller Trackpad. Need some help

I need to clarify something. Unless my situation is unique, this issue is not exclusive to the trackpad; it's an input-wide problem. If you try to replicate the bug with any other input, such as the grip, you'll get the exact same bug.
BSC
Settler

Re: Problem with Controller Trackpad. Need some help

@MWilliamGoody2303

Thanks for the clarification!

 

I updated my test tool to print out button presses/unpresses and for me button events can get skipped, too. I added this info to the reported issue on the openvr github project and changed the title from "VIVE controller touch pad untouch sometimes not registering until next input event" to "VIVE controller input events sometimes not registering until next input event".

 

This issue might be deeper rooted than I first thought but maybe a firmware update can fix this? It seems weird to me that this issue is not wider reported on. A game controller that can skip button events? Sounds like something that would delay the release of a piece of hardware not something that only gets looked into 2 years after release.

Highlighted

Re: Problem with Controller Trackpad. Need some help

@BSC
Exactly. This is precisely why I was so confused. When I first noticed the issue I spent so much time trying to find any mention of this anywhere on the internet and I couldn't find anything. Makes no sense to me. I'd really appreciate if one of the customer support guys here could let us know if this is being investigated in any way. I'm interested to hear what the engineers (or whoever's behind the drivers and firmware) think of this.
vodkaandcoke
Visitor

Re: Problem with Controller Trackpad. Need some help

I can add i have the same problem,   got the vive only a few months ago.     first noticed it in google maps with the grip to turn would stick with me turning untill i pressed another button,   thought it was just a bug in the game.      then started to notcie it with the track pad more the more making free movement locomotion feel really strange and hard to controll.     thought at first it was just me not getting used to the controlls but see that other people are having same issue.

justintd
Pioneer

Re: Problem with Controller Trackpad. Need some help

The Steam VR beta update sounded like it would fix this, but it doesn't. I've tested it on 3 Vives, 2 of which were brand new. I'm still moving without touching the trackpad in games often.
mkoponen
Contributor

Re: Problem with Controller Trackpad. Need some help

Just saw this in the release notes of the latest update. Time to get testing, people!

Vive Controller Firmware:

  • Fixed an issue where noisy or intermittent USB or radio connections could result in missed state transitions, such as the trackpad being stuck in the touched state until another input change occurs.
mkoponen
Contributor

Re: Problem with Controller Trackpad. Need some help

Well, unfortunately the problem has not gone away at the time of this writing. Nor did errors in bluetooth communication sound like a convincing reason, because I have yet to see an environment where it does not happen, or even happens less frequently. And I have tried in several locations, greatly separated. (As in, different cities).

 

What DOES affect its frequency is frame rate. For example in something very lightweight like Viveport, it happens infrequently. Perhaps after 30 attempts at sliding your finger on the trackpad and raising it. However, if there happens to be any stutter at the same time, such as a short error in motion tracking (for example, your vision moves for a few frames and then returns where it was) then it is likely to happen exactly then. Also, in heavyweight applications like the game The Forest, it happens much more frequently. Perhaps every five to seven times you slide your finger on the trackpad and then raise it. The difference in frequency of problems is extremely noticeable.

 

So, here's my theory: When the raise event happens on a frame that got skipped due to inability to render it in time, the raise event is lost with some significant probability.

Blade424242
Contributor

Re: Problem with Controller Trackpad. Need some help

I have exactly the same problem - plus I have noticed that the controller doesn't sense my finger in the actual position. Sometimes I push my finger all the top of the disc, and still walking only half-speed; other times I start walking backward, or when I feel I am clicking the middle, I click down or right...

I am plain disappointed with these controllers - too big, too heavy, triggers are too hard, the two buttons are way too far to reach, and the trackpad is not dependable.

I wish I could use the Oculus controllers, but as far as I know, I can't - those are basically two half x-box controllers, eat through batteries like butter, but easy to handle, and dependable.

I would spend the extra caps on the 2.0 controllers - if I knew those are better. But after all the design flaws I have seen in the vive pro, I am really hesitant to throw more down the drain.

proflui
Visitor

Re: Problem with Controller Trackpad. Need some help

You guys are definitely not the only ones who has the problem.  I bought my Vive new during 2018 Christmas and I am also having the controller problem.  So far it happens when I play Onward and Arizona Sunshine.  from time to time I am turning left or right nonstop until I press the opposite direction to offset it.  I am shock that this problem is known for nearly a year and there is no fix!

iTanne99
Contributor

Re: Problem with Controller Trackpad. Need some help

Has anyone got a solution to this? I  am actually using the Samsung Hmd Odyssey Windows Mixed Reality Headset and I also am having this issue. I tried playing Zero Caliber, Minecraft, The Forest, and even in the Steam Home. In the Steam Home app, if you try using the spray paint and you select a color it will either, 

A. Get set back to the middle

B. Get your input thrown to a different side of the trackpad

It is extremely frustrating to not be able to play games well. We are spending anywhere from a range of 200-500+ on these headsets and we are getting these basic (what seems to be) coding issues. We have developers looking into this and nothing has been solved yet?? In conclusion, this is not a hardware issue. It seems to be an internal software issue. Also, does anyone have an actual name for what this issue is? I thought it was drifting but it doesn't seem to be that.

iTanne99
Contributor

Re: Problem with Controller Trackpad. Need some help

I took a video of me playing the forest. I apologize for not actually having to see my hands, but I hope it's enough proof or some visual evidence as to what we are experiencing
https://youtu.be/ICk-7BQQH8o