Use the WebXR Device API today providing fallbacks to native WebVR 1.1
...It is recommended to write your code targeting the WebXR Device API spec however and use this polyfill as browsers begin to implement the latest changes. The minimal input controls currently supported by WebXR is polyfilled here as well, using the Gamepad API.