[Hypothetical] Input Device API
I just had a thought...
There seem to be two big issues with controllers for VR right now:
And here's a little table of how a few of the devices that are currently on the market would fit in:

Don't worry about the clipping, the Xbox controller was the last one on the table anyway
So, to meet standard A, you could use an Xbox One controller. However, you could also use a Razer Hydra and just not use the motion tracking data.
To meet standard B, you'd need a razer hydra, or ControlVR + an Xbox One controller
To meet standard C, you'd need ControlVR and the Omni, or Leap Motion and the Omni
(obviously there are more ways to meet these hypothetical standards right now, I'm just using examples from the table)
I feel like a system like that would solve a lot of the issues everyone's having with VR input 'how much should I spend, what's worth developing for...' etc. Since one device can't do everything Oculus doesn't have to worry about shooting themselves in the foot by encouraging competition, and this would allow more people to enter the controller-design scene than otherwise. And obviously, for the consumer, you get lower-priced input devices, with a much greater flexibility.
There seem to be two big issues with controllers for VR right now:
- 1. There are so damn many of them
- 2. Oculus have hinted very strongly that they will be releasing a controller, so nobody is willing to bet on a particular controller in case they pick the wrong (often very expensive) one.
Both of these problems could be solved if Oculus released some kind of API layer for all controllers in VR.
What I mean by this is game developers code their game only for the degree of control players will have, rather than having to implement a specific controller setup. Controller manufacturers ensure that their software talks correctly to the OVR Input API, and can be assured that all the control information that their device can produce will be used correctly.
The way this would be achieved is by the setting of several 'standards' for VR experiences. A game developer picks the standard that their game will require, and goes for it. A standard is made up of certain device requirements, and each controller will contribute one or more device requirements.
Here are some example standards:
- Standard A might require '10 buttons, two analog sticks'
- Standard B might require 'hand position tracking, hand rotation tracking, 10 buttons, analog stick'
- Standard C might require 'finger tracking, leg-based locomotion'
And here's a little table of how a few of the devices that are currently on the market would fit in:

Don't worry about the clipping, the Xbox controller was the last one on the table anyway
So, to meet standard A, you could use an Xbox One controller. However, you could also use a Razer Hydra and just not use the motion tracking data.
To meet standard B, you'd need a razer hydra, or ControlVR + an Xbox One controller
To meet standard C, you'd need ControlVR and the Omni, or Leap Motion and the Omni
(obviously there are more ways to meet these hypothetical standards right now, I'm just using examples from the table)
I feel like a system like that would solve a lot of the issues everyone's having with VR input 'how much should I spend, what's worth developing for...' etc. Since one device can't do everything Oculus doesn't have to worry about shooting themselves in the foot by encouraging competition, and this would allow more people to enter the controller-design scene than otherwise. And obviously, for the consumer, you get lower-priced input devices, with a much greater flexibility.
