Skip to content
SteamVR driver for Leap Motion
Branch: master
Clone or download
Pull request Compare This branch is 80 commits ahead of cbuchner1:master.
Latest commit e92a83e Jul 17, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update FUNDING.yml Jun 19, 2019
driver_leap Non-constant game profiles switching Jul 3, 2019
gesture_checker Post-build events fix Jun 30, 2019
leap_monitor Update to OpenVR 1.5.17 Jul 14, 2019
shared Haptic output Jun 12, 2019
vendor Update to OpenVR 1.5.17 Jul 14, 2019
.gitmodules Added pugixml submodule May 28, 2019 Update Jul 17, 2019
control_config.xml More valid hand pose Jun 10, 2019
driver_leap.sln Solution name fix Feb 8, 2019
index_profile.json Valve Index controller emulation support Jun 9, 2019
vive_profile.json Valve Index controller emulation support Jun 9, 2019

Build status Release

Fork with updated vendor libraries and extended features.

Installation (for users)

  • Install latest Orion Beta
  • Method #1:
  • Method #2:
    • Create 'leap' folder in '<SteamVR_folder>/drivers'
    • Grab latest release archive for your platform
    • Extract archive to '<SteamVR_folder>/drivers/leap'
    • Add line in section 'steamvr' of '<Steam_folder>/config/steamvr.vrsettings' file:
    "activateMultipleDrivers": true,

Building (for developers)

  • Open solution in Visual Studio 2013/2015/2017
  • Build your platform:
    • x64 - build output is in '<solution_folder>/x64'
    • x86 - build output is in '<solution_folder>/Win32'
  • Copy build files to '<base_project_installation_folder>/leap/bin/<your_platform>':
    • driver_leap.dll
    • gesture_checker.exe
    • leap_monitor.exe
  • Copy additional shared libraries to '<base_project_installation_folder>/leap/bin/<your_platform>':
    • vendor/LeapSDK/lib/<your_platform>/LeapC.dll
    • vendor/openvr/bin/<your_platform>/openvr_api.dll
  • Copy control_config.xml, vive_profile.json and index_profile.json from solution root to '<base_project_installation_folder>/leap/cfg'

Control configuration and inputs

Driver can emulate HTC Vive controllers and Valve Index controllers with skeletal animation. It's adjusted by control_config.xml in 'cfg' folder.
There are more configurable restrictions, such as global input, trackpad, trigger, grab and etc.

HTC Vive controllers emulation

Controls are specified by game profiles that are enabled automatically when game is started. Available game profiles:

  • vrchat - profile for VRChat. Control restrictions are ignored.
    Game controls list:
    • Gun - corresponding hand gesture
    • V-shape - corresponding hand gesture
    • Point - corresponding hand gesture
    • Rock out - corresponding hand gesture
    • Thumbs up - corresponding hand gesture
    • Spread hand - corresponding hand gesture. Also corresponds to grip button.
    • Trigger - grab gesture
    • Application menu - formed T-shape with two hands
  • default - profile for other games.
    Control list:
    • Trigger - bending of the index finger
    • Grip - grab gesture
    • System menu - formed T-shape with two hands
    • Application menu - hand with palm directed towards face
    • Touchpad - thumb press
    • Touchpad circle - index finger of another hand directed to palm

Valve Index controllers emulation

By default, controller models aren't in right folder of SteamVR, and you have to add them by yourself. Copy all folders from '<SteamVR_folder>/drivers/indexcontroller/resources/rendermodels' to '<SteamVR_folder>/resources/rendermodels'.
Controls list:

  • Trigger - bending of the index finger
  • Grip - bending of middle, ring and pinky fingers
  • Touchpad - thumb press
  • Touchpad circle - index finger of another hand directed to palm
  • Thumbstick press - touch of thumb finger tip by index finger tip of another hand
  • Button A - pinch gesture (tips of thumb finger and index finger)
  • Button B - tips of thumb finger and pinky finger
  • System button - formed T-shape with two hands

Currently, there are no free gestures that can simulate thumbstick direction.


Sometimes installation of base project driver doesn't register driver folder for SteamVR. To manually add it:

  • Open console as administrator in '<SteamVR_folder>/bin/win32' (or '<SteamVR_folder>/bin/win64') and execute command:
vrpathreg adddriver "path_to_leap_folder"
  • Check if driver folder is added by calling 'vrpathreg' without any arguments
  • Open '<Steam_folder>/config/steamvr.vrsettings' file and add line in 'steamvr' section:
"activateMultipleDrivers": true,
You can’t perform that action at this time.