ChristophHaag / SteamVR-OpenHMD

SteamVR plugin for using OpenHMD drivers in SteamVR
Boost Software License 1.0
193 stars 33 forks source link

Update driver_openhmd.cpp #12

Closed minake14 closed 4 years ago

minake14 commented 5 years ago

I think the only thing missing was polling events. When I run SteamVR, I can see the grip being pressed rapidly, so I assume that means it's working. I also experimented the other inputs, but it seems that there are some issue with trackpad. Here are the errors in question from vrsever.txt when ever I add the trackpad properties:

" Mon Jan 28 2019 02:22:10.700840 - Invalid input type touch for controller (/user/hand/right/input/trackpad) Mon Jan 28 2019 02:22:10.700897 - Couldn't find action /actions/lasermouse/in/TrackpadScroll. Ignoring it. Mon Jan 28 2019 02:22:10.700958 - Invalid input type east for controller (/user/hand/right/input/trackpad) Mon Jan 28 2019 02:22:10.701200 - Invalid input type touch for controller (/user/hand/left/input/trackpad) Mon Jan 28 2019 02:22:10.701224 - Couldn't find action /actions/lasermouse/in/TrackpadScroll. Ignoring it. Mon Jan 28 2019 02:22:10.701278 - Invalid input type east for controller (/user/hand/left/input/trackpad) "

ChristophHaag commented 5 years ago

Cool. The test grip press should probably be removed from the code now. :)

Also the steamvr controller binding web GUI with the debug view should be helpful for trying the controller stuff.

minake14 commented 5 years ago

I would added it sooner if if SteamVR didn't decide to die right after I asked about this branch. Took forever to finger out that I needed the beta update for the Steam client.

Also, have tried it yet? If so, is it working for you?

ChristophHaag commented 5 years ago

Sorry, not yet. I think I'll look at it when I'm at fosdem.

minake14 commented 5 years ago

Aye Aye! I'll keep experimenting. Tell me if there is anything else you want me to look at.

Cheers!

minake14 commented 5 years ago

After some more testing, it seems that what I was seeing was an odd graphical bug that vanishes when then button press event is removed. At the time I first tested it, the controller were being rendered at the same coordinates as the HMD, but when I moved them, the oscillation of what I thought was the grip button was no longer observable. Sorry for the false alarm.

minake14 commented 5 years ago

I got it working with The Talos Principle. I can teleport around and open the game menu. However, nothing happens in the SteamVR Home or in Rec Room on Proton 3.16-7.

Edit: It works in DoomVFR

ChristophHaag commented 5 years ago

Cool. Sorry I got a bit sick at fosdem and then busy with work, so I haven't looked at it.

My guess would be that the games where it works use the "legacy" input, i.e. calling GetControllerState() and getting the pose and button data for every tracked device, and that it doesn't work for games that use actionsets and actions. Perhaps the resources/input/openhmd_controller_profile.json is not quite right for this.