Self-sustainable fork of SteamVR driver for Leap Motion controller with updated vendor libraries
- Install latest Ultraleap Gemini
- Extract latest release archive to
<SteamVR_folder>/drivers
- Add line in section
steamvr
of<Steam_folder>/config/steamvr.vrsettings
file:
"activateMultipleDrivers": true,
Driver settings are configurated by editing resources/settings.xml
. Available settings:
trackingLevel
: skeleton tracking style for OpenVR. Can bepartial
orfull
;partial
by default.handsReset
: marks controller as out of range if hand isn't detected by Leap Motion;false
by default.useVelocity
: enables velocity data from Leap Motion for hands;false
by default.rootOffset
: local position offset from HMD view point; values are in meters.rootAngle
: local rotation offset for axis X, can be used withrootOffset
to configure tracking for neck mounts; value is in radians.handsOffset
: local position offset for controllers from theirs transformation point, X axis will be inverted for right hand; values are in meters.handsRotationOffset
: local rotation offset for controllers from theirs transformation point, Y and Z axes will be inverted for right hand; values are in radians.
Settings can be reloaded at runtime from menu item by clicking on "Driver Leap Control" tray icon. All settings (except trackingLevel
) are reloaded and applied.
List of hands gestures that correspond to controller original input:
- Grip: bending of middle, ring and pinky fingers
- Trigger: bending of index finger
- CSFML graphics module is built from fork to address SteamVR OpenGL textures problems on AMD GPUs. However, it's highly possible to have no effect due to lack of testing hardware.
- If you see only green dots that represent tip of your index fingers, force
leap_control
to launch on dGPU through control panel of your GPU vendor. - Tracking will be lost upon service shutdown/restart.
- Coordinate system used for offsets is right handed.