Customizing SteamVR Controller Bindings

Guides Customizing SteamVR Controller Bindings

What is this?

This is a guide on setting SteamVR controller bindings. VaM uses the newer SteamVR controller binding style, which means that buttons are mapped to actions. More than one action can be mapped to the same button or control, and multiple controls can be mapped to the same action.

Since I have a Valve Index, that's what I'll be using as an example. However, this can be applied to any type of VR controller. I used to have a Samsung Odyssey+ and it worked just as well. Some of the buttons are named differently, and some VR controllers have more buttons than others, but you can customize it as you see fit. You don't need to use my suggested bindings.

Note that Valve often updates SteamVR and sometimes they change the UI. If they change it again, then you may need to figure out how to get to the bindings.

Instructions

First of all, start up SteamVR and start VaM in VR mode. Since VaM is not in the Steam store, it won't appear in the bindings list unless it's running (at least currently).

Next, open up SteamVR settings. You can do this in the headset or on your desktop. Go to the Controllers tab and select "Manage Controller Bindings":

SteamVR-Controllers.png


On the Manage Controller Bindings screen, select "VAM" as the game (it must be running in VR mode), change Active Controller Binding to Custom and click "Edit this Binding":

SteamVR-ManageControllerBindings.png


From there, you can edit the actions. Here's my setup:

SteamVR-VAM-Bindings.png


My Index Controls

My left controller is set up exactly the same as my right controller, except that I removed Grab Navigate from the trackpad. You can set up left and right differently if you want. Let me describe the controls shown above:
  • Hold the trigger down to grab a node. It no longer toggles.
    • You could make it so that holding the trigger halfway grabs, while clicking it all the way toggles it. To do that, set Use as Button (Click) to "Grab", and Use as Trigger (Click) to "Hold (Toggle) Grab".
    • You could do the same for "Remote Grab" and "Remote Hold (Toggle) Grab" if you want.
    • Note: I originally had this backwards.
  • The trackpad can be used to scroll in menus.
  • The thumbstick can also be used to scroll in menus, but it moves you around the worldspace at the same time.
  • While grabbing a node, scroll the trackpad down to pull the node toward you, or up to push it away from you. This is useful if an atom has spawned far away.
  • Touch the top of the trackpad to show the teleport target and press it to teleport there.
  • Hold the bottom of the trackpad to use grab navigation.
  • Click in the thumbstick to show/hide the VR hands.
  • Move the left and right thumbsticks to navigate.
  • Press B to open, close or move the menu.
  • Touch the A button, B button, or trackpad to show nodes.
  • Click A to select nodes or to interact with the UI.
  • Click the trigger to interact with the UI as well.
  • Grip doesn't do anything.
My Odyssey/WMR Controls

The Odyssey/WMR controllers are different of course. Instead A and B buttons, there's a single menu button, and it isn't touch-sensitive (afaik). There's a grip button instead of grip being pressure-sensitive. My bindings were mostly the same, with the following differences (sorry I don't have screenshots):
  • Press right Grip button for grab navigation.
    • There was a bug where if I had both left and right Grip buttons set to grab navigation, and I accidentally pressed both at the same time, the world would explode (not really, but I did have to restart VaM).
  • Touch trackpad anywhere to show nodes (Trackpad -> Use as Dpad (Mode Touch) -> North, South, East, West, Center all set to Show Control Nodes)
  • Press trackpad in to select nodes (Trackpad -> Use as Dpad (Mode Click) -> Center).
  • Press Menu button to open, close or move the menu.
  • Click the trigger to interact with the UI (there's no A button as a secondary option).
Customizing Your Bindings

Edit Controls

To edit a control, hover over the box for the control you want to edit and click the Edit button (pen icon) in the lower corner. Don't forget to click the check mark to accept the change.

SteamVR-EditBinding.png


Add Controls

To add more mappings, click the "plus" icon in the top corner. Some are button controls and some are analog controls, and they generally can't be to mapped to the same kind of things. Also, you can map "touch" and "click" separately for trackpads by selecting the corresponding mode.

SteamVR-AddBinding.png


Controls

Steam shows a picture of your controller in the middle. When you hover over a control on either side (like B button), it draws a line to the corresponding control on the picture.

Pinch Gesture: When you put your thumb on the trackpad and pull the trigger at the same time.

Control Modes

Use as Button:
Press for on, release for off. Also used for clicking things. For triggers, you only have to pull it partway.
Use as Trigger: Touch, Pull, and Click. Press all the way down for Click. Pull is a percentage value of how far you pulled it.
Use as Toggle Button: Press once and release to toggle between on/off states.
Use as Dpad: Set Mode to Touch or Click. North, South, East, West, Center. They act as if they are buttons.
Use as Trackpad: Touch and Position. Position is analog (2D).
Use as Joystick: Click, Touch and Position. Position is analog (2D).
Others (Use as Grab, Use as Force, etc.): For mapping a single action (e.g. "Use as Grab" only has a Grab action).

Action Categories

Boolean:
On/off only, or perform a single action. Digital control.
Vector: Analog control.

Action Descriptions

SteamVR-Boolean-and-Vector1-Actions.png

SteamVR-Vector2-Actions.png


Required actions are actions that must be mapped to at least one control.
The red box at the top displays actions that haven't been mapped to anything. You do NOT have to map every action.

Open, Close, or Move Menu UI: Press to toggle the menu. Hold to move the menu around.
Interact with UI: Press to click stuff in menus or in-game UI elements (e.g. UIButton)
UIScroll: Scroll in menus. Note that you can set the thumbsticks to scroll, but it doesn't prevent you from moving around the worldspace at the same time.
Teleport Show: Show the teleport overlay
Teleport: Teleport to the position shown in the overlay
Grab Navigate: Grab the entire worldspace and move it around. Can be faster than using free move.
Free Move: Move around the worldspace. One controller is forward-back, left-right (position), and the other is up-down (position), left-right (rotate).
Free Mode Move: Same as Free Move, except that it's used when "Free Move" mode is enabled in the Navigation menu. If you want, you could unmap Free Move in normal mode and only be able to use free move when you enable "Free Move" mode.
Swap Free Move Axis: Switch the free move thumbsticks around, so the left can be used for up-down-rotate and the right can be used for forward-back-left-right. This is already a toggle, so you don't need to use "Use as Toggle Button".
Show Control Nodes: In Edit Mode, show or hide the control nodes (handles for manipulating stuff)
Push Pull Node: While grabbing a node, pull the node toward you, or push it away from you. Useful if a node has spawned far away. Annoying when you do it by accident, so you may want to unmap this.
Cycle Engage: If there are multiple nodes stacked on top of each other, cycling will allow you to choose between them. You need to map Cycle Engage and at least one Cycle Axis.
Cycle Using X Axis: For node cycling, use left-right movement to cycle
Cycle Using Y Axis: For node cycling, use up-down movement to cycle
Select: Select the control node being pointed at, so that you can view or modify its properties. Does not move or rotate it.
Grab: Grab a control node to move or rotate it. Does not select the node. The controller must be close to the node.
Remote Grab: Same as Grab, but you can do it from far away.
Hold (Toggle) Grab: Same as Grab, but toggles instead of needing to hold the button down.
Remote Hold (Toggle) Grab: Same as Remote Grab, but toggles instead of needing to hold the button down.
Toggle Hand: Show or hide the VR hands. Works for each hand separately.

Grab Value: Unknown. Please tell me if you know what this does. It's a Vector1 (analog percentage value) that can be set to Trigger (Pull), so maybe it's the pressure of a grab?
Author
WrongTamago
Views
22,823
First release
Last update
Rating
5.00 star(s) 3 ratings

More resources from WrongTamago

Latest updates

  1. Descriptions for all actions and more!

    Added descriptions of all controller actions, as well as more info on how to edit the bindings.
  2. Moar screenshots + Description of Odyssey/WMR bindings

    Added screenshots for editing the bindings and added a description of my old Odyssey/WMR...

Latest reviews

Has anyone figured out how to map Oculus Touch controls to this (ie; the controllers used with Quest2 and Quest3)
I've tried to setup this mapping, but Touch mapping is different, and I'm not sure whether the settings are being updated live (while playing).
Upvote 0
super thorough and clear instructions. thank you very much. these bindings should be the default!
Upvote 0
Very useful reference- especially the action descriptions at the bottom. Thanks!
WrongTamago
WrongTamago
Thanks for the review and thanks for suggesting that!
Upvote 0
Back
Top Bottom