Clone wiki

VS2017 Projects / Home


VJoyVive - Use the Vive Controllers as a virtual joystick

Check out a simple video showing the action on YouTube

VJoyVive Interface VJoyVive Configuration

##Download * VJoyVive x64 Version 1.1

Read the README.txt for install and further instructions.

###README.txt Overview: ========= VJoyVive Controller is a program that reads the vive controllers and sends information to the vJoy virtual joystick driver. This lets the vive controllers act as a joystick.

    The controllers still behave normally in VR games, but will also be acting
    as a joystick when the user defined 'enable' button is triggered.

    I use the grip button to enable, so when I squeeze the controller, it is as if I'm holding a joystick and I can rotate the controller as I would a 
    joystick.  When I let go of the grip button, the joystick freezes in that 
    position.  Next time I squeeze the grip button, the joystick is now in my
    hand again, at the same location where I let go before, so I don't need to
    line up my had with where it was when I let go previously.

    The throttle control works similarly where I grip the controller and push
    it forward or pull it backward and the throttle is adjusted accordingly.
    Forward and backward are relative to the direction perpendicular to the 
    touchpad.  Pushing in the direction the tip of the trigger is pointing is

    VJoyVive requires Microsoft .Net Framework 4.6 which can be downloaded
    Download and install vJoy version 2.1.8 from  
    Place all the files in the VJoyVive package in a directory (someplace like 
        c:\Program Files\VJoyVive for instance)
    Place a shortcut to VJoyVive.exe on your desktop or start menu if desired.
    That's it :-)

    Setup vJoy Device:
    Run VJoyVive.exe 
    It will wait for you to start up SteamVR if it's not already running.
    If you haven't setup VJoy, it should show the VJoy configuration panel, if not
      run vJoyConfig.exe from the x64 directory of where you installed vJoy
    Create a vJoy device with the following:
        18 button
        X, Y, Z, and Rz axes
        2 POV hat switches (I've only tested with 4 direction hats at present)
        check the 'Enable vJoy' checkbox in the lower left
    If VJoyVive started the configuration tool for you, look for the small 
       window to click on 'ok'. Sometimes it's behind the config window

    Configure VJoyVive:
    Once VJoyVive is running you will see a window with the following buttons:
    * Controller Setup - allows you to configure how the vive controllers will 
        map to the joystick device
    * VJoy Config - will open the vJoyConfig.exe tool
    * VJoy Monitor - will open the vJoyMonitor.exe tool
    * VJoy Device Id - use this to select which vjoy device id number you want 
        to use you can setup multiple devices in vJoyConfig, although only one 
        is required
    The titlebar will show 'VJoyVive - Default' indicating you are using the 
        'Default' configuration.

    Click on 'Controller Setup'
    This window allows you to create new configurations and switch between them.
    * Configuration selector:  
        Choose a configuration to switch to or choose 'New...' to create a new
    * The left side shows setting for the stick controller, and the right for 
        the throttle controller
    * Choose the stick as left or right handed
    * Choose the stick as joystick or flightstick
        Joystick looks for rotation in 3 axes.  
           Imagine the controller's base, where the strap is, is fixed in space 
           like a joystick and you can rotate it forward, back, side to side or 
        Flightstick looks for side to side rotation and forward backward movement
           Forward and backward are defined as movement perpendicular to the touchpad
           Rudder is controller by rotation like in joystick mode
    * Choose if you want to hold or togggle a button for the controllers to send 
        data to vJoy.
        I recommend hold as it can get confusing since you can't really tell if 
        its on or off when using toggle.
    * Setup the buttons.  
       * Leaving them on 'Default' will cause them to trigger vJoy buttons that 
         you can map in game.  
       * You need to setup at least one button on each stick 'Enable'.  I use the
         Grip button.  When this JoyStick Enable/Throttle Enable button is used
         the controller's position will send axes information to vjoy to ack as
         a joystick/flightstick.  Buttons are always sent to vjoy reguardless of
         the enable button state.
       * The Buttons:
         * Grip - the side/grip button on the controller
         * Applicaiton - the button above the touchpad
         * Trigger Botton - pulling the trigger all the way to the bottom
         * Trigger - pulling the trigger in a short distance (hair trigger)
         * Touchpad - touchpad can be setup as a single special button, or be
           a 5 buttons (up,down,left,right,center)
         * Up/Down/Left/Right/Center: Pressing on the touchpad gives 5 buttons

    Each button can have special functions or default which uses the vJoy
           button associated with the vive button
       * Special Button Functions:
         Center Joystick - currently must only be on the Stick Controller
         Center Rudder - currently must only be on the Stick Controller
         Throttle OFf/Half/Full - must currently be on the Throttle Controller
         Enable - the button to map controller movement as joystick movement
       * Button Mapping:
           Stick Controller:
           Trigger        = button 1
           Trigger Bottom = button 2
           Application    = button 3
           Grip           = button 4
           Up             = button 5
           Right          = button 6
           Down           = button 7
           Left           = button 8
           Center         = button 9
           Throttle Controller:
           Trigger        = button 10
           Trigger Bottom = button 11
           Application    = button 12
           Grip           = button 13
           Up             = button 14
           Right          = button 15
           Down           = button 16
           Left           = button 17
           Center         = button 18

Send comments to brian.gragg via gmail