OpenXR: Add support for XR_KHR_generic_controller#110778
Conversation
cc4837a to
960fcc3
Compare
|
Not sure what the CI failures are about, seem to be unrelated to this PR ? |
960fcc3 to
b437d07
Compare
|
XR Team meeting, going to rebase this and we're going to merge after checking all the input paths. After that we'll do a separate PR to clean up our default action map so it only contains:
We're leaving out the simple controller as it doesn't cover our use cases and we have runtimes that will preference it over more applicable interaction profiles. |
b437d07 to
fef319b
Compare
fef319b to
0a82493
Compare
To follow-up on something I said at the XR team meeting yesterday: I just tested on the Pico 4 Ultra, and it looks like I was wrong - it's not able to map to the "Touch controller" profile. So, we could either continue with our original planned 3 interaction profiles, but just add the "Pico 4 controller" profile to it (which would be my preference, because I'd love to see the default action map get much smaller). Or, be more conservative, and only remove the "Simple controller" profile. It's a question of if we're worried that there's more runtimes that can't map to the "Touch controller" profile. We can test on all the headsets we have available, but beyond that, we can't really know without going forward with removing most interaction profiles and seeing if users with other headsets find any issues. |
I'm in favor of the option of just adding the Pico 4 controller, bearing in mind that new users (who may have a harder time troubleshooting why their controls are not working) will in the majority be using one of Meta, Pico or Google headsets. Whereas advanced users targeting a wider range of devices will know to update the action map. |
|
yeah I'm in favour of culling everything but just keeping the PICO 4 mapping. Just because we have an increasing number of PICO users. Hopefully once we get confirmation the generic controllers gets support on Meta and Pico headsets we can remove those. People can always add profiles back in that they need for their projects. This also brings things in line with OpenXRs position that you should only include interaction profiles that you've actually tested. |
edf25cd to
efcc653
Compare
efcc653 to
87eafe2
Compare
dsnopek
left a comment
There was a problem hiding this comment.
Thanks! This looks good to me :-)
|
Thanks! |
This PR adds support for the new XR_KHR_generic_controller extension that became available in OpenXR 1.1.52 (#110777)
This is a new generic controller profile added to OpenXR that is represents the norm in XR controllers and should provide a suitable fallback where the "simple controller" profile is insufficient.
Marking this as a draft PR for now as we're awaiting confirmation which runtimes have added support for this extension.
Once enough runtimes support this new controller profile we'll have to have a discussion whether we'll restrict our default action map to this profile alongside the hand interaction profile.