This project creates a "virtual" controller driver under SteamVR using the Vive Hand Tracking SDK. Using this virtual controller, it will be possible to interact with UI's without wearing controllers. This is great for simulator environments (MSFS, DCS, Project Cars, etc.).
Currently supported:
- Tracking
- Trigger Axis (Pinching)
- Trigger Clicking (Pinching > 0.7)
Roadmap for the future:
- System Button Clicking (Wrist Tap)
- Skeleton tracking!
For a quick demo: https://streamable.com/8uod3l
There are two options to install; Directly from release binary, or compile it yourself using Visual Studio.
Create a 'handtrack' folder in your SteamVR drivers path (usually 'C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers'). Extract the release contents in this new folder. Now you're all set!
This project uses microsoft/vcpkg for easier package management. Because of legal uncertainties I have not yet created a PR for the Handtrack SDK. So for now:
git clone https://github.com/EniacMlezi/vcpkg
cd vcpkg
./bootstrap-vcpkg
./vcpkg install openvr:x64-windows
./vcpkg install vive-handtrack-sdk:x64-windows
./vcpkg integrate install
Under "Property Manager" in Visual Studio, expand any of the configurations and find "Paths". Right click and select "Properties" and then "User Macros". Modify the paths to match your setup. InstallDir will be created, and will be configured as an external driver path for SteamVR.
Starting the debugger will automatically install the driver, launch SteamVR and debug the application.
Cleaning the solution will uninstall the driver.