This is an overview of the steps to write a new OpenVR driver. In the examples, the driver is simply called "mydriver".
It is advisable to use the built-in SteamVR drivers as references. For example, the Oculus driver is maintained by Valve and demonstrates nearly all of the below features (excluding driver registration). The built-in drivers can be found in your Steam install directory in the sub-path 'Steam\steamapps\common\SteamVR\drivers'.
vr::IClientTrackedDeviceProvider
to the DLL and return it from the factory. This provider will be phased out in the next SDK udpate, but for now you need it. This was removed in OpenVR version 1.0.6.vr::IServerTrackedDeviceProvider
and have that return implementations of vr::ITrackedDeviceServerDriver
for each tracked device.steam://run/250820
For devices with buttons, triggers, joysticks, and other kinds of input controls, please refer to the vr::IVRDriverInput
API. Reference the Input Profiles
page for information on icons, images, and localization.
For devices that wish to provide animation data through the Skeletal Input system, please refer to the Skeletal Input Driver documentation.
The source code for a sample driver is available here. The sample implements these interfaces and includes an example HMD/controller.
Other driver documentation:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4