Fork with updated vendor libraries.
- Install Ultraleap Gemini v5.2.0
- Extract latest release archive to
<SteamVR_folder>/drivers - Add line in section
steamvrof<Steam_folder>/config/steamvr.vrsettingsfile:
"activateMultipleDrivers": true,Driver settings are configurated by editing resources/settings.xml. Available settings:
emulatedController: emulated controllers type. Can bevive,indexoroculus.indexby default.rightHand/leftHand: sets enabling of virtual controller for specific hand.trueby default.orientation: Leap Motion controller mouting type. Can behmdordesktop.hmdby default.trackingLevel: skeleton tracking style for OpenVR. Can bepartialorfull.partialby default.desktopOffset: global position offset from head indesktoporientation.leftHandOffset/rightHandOffset: local offset position for specific hand controller.leftHandOffsetRotation/rightHandOffsetRotation: local offset rotation for specific hand controller.handsReset: marks controllers as out of range if hand for controller isn't detected by Leap Motion.falseby default.interpolation: enables internal Leap Motion data capture interpolation.falseby default.useVelocity: enables velocity data from Leap Motion for hands.falseby default.
List of hands gestures that are used in tracking:
- Grab: bending of middle, ring and pinky fingers.
- Trigger: bending of index finger.
- Thumb press: touching of middle segment of index finger by thumb.
- Opisthenar touch: tounching of opisthenar by index finger of opposite hand.
- Palm touch: touching of palm by index finger of opposite hand.
- Thumb touch: touching of thumb finger by index finger of opposite hand.
- Middle touch: touching of middle finger by index finger of opposite hand.
- Palm UV: pointing index finger of opposite hand to palm.
- System -> Opisthenar touch
- Menu -> Palm touch
- Grip -> Grab
- Trigger -> Trigger
- Touchpad touch -> slight Thumb press
- Touchpad press -> full Thumb press
- Touchpad XY -> Palm UV
- System -> Opisthenar touch
- Grip -> Grab
- Trigger -> Trigger
- A -> Palm touch
- B -> Middle touch
- Touchpad touch -> slight Thumb press
- Touchpad press -> full Thumb press
- Touchpad XY -> Palm UV
- Thumbstick -> Thumb touch
- Thumbstick XY -> Not implemented due to lack of free gestures
- System -> Opisthenar touch
- Trigger -> Trigger
- Grip -> Grab
- X/A -> Middle touch
- Y/B -> Palm touch
- Thumbstick touch -> slight Thumb press
- Thumbstick press -> full Thumb press
- Thumbstick XY -> Palm UV
Currently there is a strange behaviour of tracking problems that affect AMD and few Intel systems. If you're encountering with tracking problems, it's adviced to choose different release with higher vs####, or build driver on your system. Refer to Building section below.
- Clone repository with
git:
git clone https://github.com/SDraw/driver_leap.git
- Initialize submodules:
cd driver_leap
git submodule update --init --depth=1
- Open
driver_leap.slnsolution in Visual Studio (2013 and up) - Build your platform:
- x64 - build output is in
bin/win64
- x64 - build output is in
- Copy build files to
<SteamVR_folder>/drivers/leap/bin/win64:driver_leap.dllleap_monitor.exe
Note: There are post-build events for projects to copy build files directly to SteamVR driver folder that can be enabled manually.
- Copy additional shared libraries to
<SteamVR_folder>/drivers/leap/bin/win64:vendor/LeapSDK/bin/x64/LeapC.dllvendor/openvr/bin/win64/openvr_api.dll
- Copy
resourcesfolder from solution root to<SteamVR_folder>/drivers/leap. - Copy
driver.vrdrivermanifestfile from solution root to<SteamVR_folder>/drivers/leap.