-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should we use "samsung-odyssey" instead of the VID/PID? #80
Comments
When I was talking to @toji about this a while ago, I think he made the point that exposing a VID/PID string for controllers means that UAs could still differentiate between devices without needing updates every time a new controller comes out. However, most of the functionality from the controllers is explained by the xr-standard gamepad mapping and the generic profile names that can be constructed at runtime by the UA based on what capabilities are detected. So, exposing VID/PID might be overkill, especially if we also try to expose human-readable names in some cases. |
Yea - I believe that VID/PID was the right answer here in WebVR, when there was no Now in WebXR, when a new controller design of any sort comes out, there is a clear path to follow, providing a reasonable fallback until UAs update:
Right out of the gate, pages would fall back to either "windows-mixed-reality" or "touchpad-thumbstick-controller" rendering and input handling. Within 6 weeks, browsers would then add support for this controller (or even better, just merge in the latest OpenXR-to-WebXR mapping from #81) and they'll have the optimal support. |
Here is my proposal for the Samsung and non-Samsung Windows MR controllers:
UAs would map the OpenXR It does feel somewhat odd in the proposal above to treat today's "non-Samsung" controller assets as the default Windows MR motion controller for all time, although I suppose that is something that can also evolve over time in any asset CDN. Thoughts? If this looks sensible, I can submit a PR. |
@thetuvix , your profiles for Samsung and Non-Samsung LGTM |
Actually, I believe the last entry in both Samsung and Non-Samsung arrays should be "generic-trigger-grip-touchpad-thumbstick" since the controllers do have a grip button. |
The CDN is for the merged profiles that come out of the assets package. If I'm understanding the purpose of a registry right, we should really only be thinking about modifying existing profiles under extraordinary circumstances. Given that, are you still ok with this approach? |
@jacobcdewitt:
Why not use "samsung-odyssey" instead of the VID/PID? That's more human-readable and the convention in this repo seems to be that we should use readable names.
@thetuvix:
Good question!
This naming directly flows from the WinMR Gamepad.id values used in the WebVR era as keys for render model CDNs - for example: https://github.com/BabylonJS/Babylon.js/tree/master/assets/meshes/controllers/microsoft/045E-065D This was done because the WinMR native APIs exposes VID/PID for each controller, and so a UA then didn’t need to be updated when a new WinMR controller came out.
The key question now is whether this still makes sense given the broader profile system, where an app could make use of a more generic profile before UAs update.
Originally posted by @thetuvix in #78
The text was updated successfully, but these errors were encountered: