PC, VR and mobiles are drastically different devices.
HTML text input element is useful on PC, less so but still useful on mobiles, and does not exist in VR.
Virtual keyboard in VR is barely useful.
Chrome has some speech recognition API.
Build a component that will use any one of these, and provide callback that can be used elsewhere.
Switch input upon entering/existing VR, but also provide function to control over input selection.
PC, VR and mobiles are drastically different devices. HTML text input element is useful on PC, less so but still useful on mobiles, and does not exist in VR. Virtual keyboard in VR is barely useful. Chrome has some speech recognition API.
Build a component that will use any one of these, and provide callback that can be used elsewhere. Switch input upon entering/existing VR, but also provide function to control over input selection.