Guides:SteamVR Bindings: Difference between revisions
(Some more table edits & Added controller info) |
(Expanded Action Menu Table (VRC 1501)) |
||
Line 62: | Line 62: | ||
<sup>Mostly from the [https://docs.vrchat.com/docs/steamvr-input-20#bindings-glossary official docs] but with some edits for clarity.</sup> | <sup>Mostly from the [https://docs.vrchat.com/docs/steamvr-input-20#bindings-glossary official docs] but with some edits for clarity.</sup> | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+Control Source Modes | |||
!Control Source Mode | !Control Source Mode | ||
!Provided Inputs | !Provided Inputs | ||
Line 98: | Line 98: | ||
|} | |} | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
|+Input Methods | |||
!Input | !Input | ||
!Usage | !Usage | ||
Line 145: | Line 145: | ||
|Trackpad / Joystick | |Trackpad / Joystick | ||
|} | |} | ||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
! Action | |+Actions (In VRChat Specifically) | ||
!Action | |||
!Action Set | !Action Set | ||
!Description | !Description | ||
Line 162: | Line 160: | ||
|- | |- | ||
|Main Menu | |Main Menu | ||
|Global | |Global | ||
|Opens the | |[[Main Menu|Opens the Main Menu]] | ||
|boolean | |boolean | ||
|optional | |optional | ||
Line 169: | Line 167: | ||
|Quick Menu | |Quick Menu | ||
|Global | |Global | ||
|Opens the | |[[Quick Menu|Opens the Quick Menu]] | ||
|boolean | |boolean | ||
|optional | |optional | ||
Line 175: | Line 173: | ||
|Action Menu | |Action Menu | ||
|Global | |Global | ||
|Opens the | |[[Action Menu|Opens the Action Menu]] | ||
|boolean | |boolean | ||
|optional | |optional | ||
Line 215: | Line 213: | ||
| | | | ||
|- | |- | ||
! colspan=" | ! colspan="2" |Advanced Controls | ||
! colspan="3" |Alternative movement for touchpads that share the Gesture Wheel | |||
|- | |- | ||
|Start Move (Advanced) | |Start Move (Advanced) | ||
Line 231: | Line 230: | ||
|Continue Move (Advanced) | |Continue Move (Advanced) | ||
|Global | |Global | ||
| | |If Start move is released, as long as this is active, movement will continue. | ||
|boolean | |boolean | ||
|optional | |optional | ||
Line 237: | Line 236: | ||
|Continue Rotate (Advanced) | |Continue Rotate (Advanced) | ||
|Global | |Global | ||
| | |If Start rotate is released, as long as this is active, rotation will continue. | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |No Gesture After Move | ||
|Global | |Global | ||
|Prevents | |Prevents Gesture Wheel touches after Start move click is released | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |No Gesture After Rotate | ||
|Global | |Global | ||
|Prevents | |Prevents Gestures Wheel touches after Start rotate click is released | ||
|boolean | |boolean | ||
| optional | |optional | ||
|- | |- | ||
! colspan=" | ! colspan="2" |Miscellaneous | ||
! colspan="3" |Other optional functionalities | |||
|- | |- | ||
|Toggle Microphone | |Toggle Microphone | ||
|Global, 1H | |Global, 1H | ||
|Toggles the microphone | |Toggles the [[microphone]] | ||
|boolean | |boolean | ||
| | | | ||
Line 263: | Line 263: | ||
|Gesture Toggle | |Gesture Toggle | ||
|Global, 1H | |Global, 1H | ||
|Toggles Gestures | |Toggles [[Gestures]] | ||
|boolean | |boolean | ||
|optional | |optional | ||
Line 269: | Line 269: | ||
|Cycle Nameplate Mode | |Cycle Nameplate Mode | ||
|Global | |Global | ||
| | |[[Nameplates#Nameplate element visibility|Cycles through the nameplates modes]] | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| Toggle HUD | |Toggle HUD | ||
|Global | |Global | ||
|Toggles the | |Toggles the [[HUD]] | ||
|boolean | |boolean | ||
|optional | |optional | ||
Line 281: | Line 281: | ||
|Open Chatbox | |Open Chatbox | ||
|Global | |Global | ||
|Opens the Chatbox | |Opens the [[Chatbox]] | ||
|boolean | |boolean | ||
|optional | |optional | ||
Line 287: | Line 287: | ||
|Toggle Personal Mirror | |Toggle Personal Mirror | ||
|Global | |Global | ||
|Toggles the Personal Mirror | |Toggles the [[Personal Mirror]] | ||
|boolean | |boolean | ||
|optional | |optional | ||
Line 293: | Line 293: | ||
|Toggle Earmuffs | |Toggle Earmuffs | ||
|Global | |Global | ||
|Toggles Earmuffs | |Toggles [[Earmuff Mode|Earmuffs]] | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
|Open Camera | |Open Camera | ||
| Global | |Global | ||
|Toggles the camera | |Toggles the [[camera]] | ||
|boolean | |boolean | ||
|optional | |optional | ||
Line 305: | Line 305: | ||
|Activate Safe Mode | |Activate Safe Mode | ||
|Global | |Global | ||
|Activates Safe mode | |Activates [[Safe mode]] | ||
|boolean | |boolean | ||
|suggested | |suggested | ||
|- | |- | ||
Line 312: | Line 312: | ||
|Global | |Global | ||
|When active, trigger AFK in VRChat | |When active, trigger AFK in VRChat | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
! colspan=" | ! colspan="2" |One Handed | ||
! colspan="3" |Specifically for the one handed action set | |||
|- | |- | ||
|Move & Rotate | |Move & Rotate | ||
|One_Hand | |One_Hand | ||
| Combined movement & rotation | |Combined movement & rotation | ||
|vector2 | |vector2 | ||
|suggested | |suggested | ||
|- | |- | ||
|Start Move & Rotate | |Start Move & Rotate | ||
|One_Hand | |One_Hand | ||
|When clicked begin Move & Rotate | |When clicked begin Move & Rotate | ||
Line 329: | Line 330: | ||
|optional | |optional | ||
|- | |- | ||
|Continue Move & Rotate | |Continue Move & Rotate | ||
|One_Hand | |One_Hand | ||
|When Start Move & Rotate released, continue as long as this is active. | |When Start Move & Rotate released, continue as long as this is active. | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |No Gesture After Move & Rotate | ||
|One_Hand | |One_Hand | ||
|Prevents gestures afterMove & Rotate is released | |Prevents gestures afterMove & Rotate is released | ||
| boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
! colspan=" | ! colspan="2" |Udon | ||
! colspan="3" |Inputs used by Udon worlds | |||
|- | |- | ||
|Udon Menu | |Udon Menu | ||
Line 353: | Line 355: | ||
|Registerable by VRChat worlds with Udon. | |Registerable by VRChat worlds with Udon. | ||
|vector1 | |vector1 | ||
| optional | |optional | ||
|- | |- | ||
|Udon Grip Axis | |Udon Grip Axis | ||
Line 364: | Line 366: | ||
|Global, 1H | |Global, 1H | ||
|Registerable by VRChat worlds with Udon. | |Registerable by VRChat worlds with Udon. | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
! colspan=" | ! colspan="2" |Menu | ||
! colspan="3" |Specifically for the menu action set | |||
|- | |- | ||
|Confirm | |Confirm | ||
|Menu | |Menu | ||
|Clicks on menu items | |Clicks on menu items | ||
| boolean | |boolean | ||
|suggested | |suggested | ||
|- | |- | ||
Line 395: | Line 398: | ||
|Close Quick Menu | |Close Quick Menu | ||
|Menu | |Menu | ||
|Closes the | |[[Quick Menu|Closes the Quick Menu]] | ||
|boolean | |boolean | ||
|optional | |optional | ||
Line 405: | Line 408: | ||
|optional | |optional | ||
|- | |- | ||
! colspan=" | ! colspan="2" |Action Menu | ||
! colspan="3" |Specifically for the action menu action set | |||
|- | |- | ||
|Axis | |Axis | ||
|Action | |Action | ||
|Directional control in the action menu | |Directional control in the action menu | ||
|vector2 | |vector2 | ||
Line 414: | Line 418: | ||
|- | |- | ||
|Select | |Select | ||
|Action | |Action | ||
|Select hovering item in the action menu | |Select hovering item in the action menu | ||
|boolean | |boolean | ||
| | | | ||
|- | |- | ||
! colspan=" | ! colspan="2" |(?) | ||
! colspan="3" |Unspecified | |||
|- | |- | ||
|Pose Data | |Pose Data | ||
Line 428: | Line 433: | ||
|- | |- | ||
|SkeletonLeftHand | |SkeletonLeftHand | ||
| Global | |Global | ||
| rowspan="2" |Used to retrieve bone transform data from the related controllers | | rowspan="2" |Used to retrieve bone transform data from the related controllers | ||
|skeleton | |skeleton | ||
Line 444: | Line 449: | ||
| | | | ||
|- | |- | ||
! colspan=" | ! colspan="2" |Gesture Activator (GA) | ||
! colspan="3" |Activators for (?) | |||
|- | |- | ||
| | |GA (Thumb) | ||
|Global | |Global | ||
| | | | ||
Line 452: | Line 458: | ||
|optional | |optional | ||
|- | |- | ||
| | |GA (Thumb Inner-Upper) | ||
|Global | |Global | ||
| | | | ||
Line 458: | Line 464: | ||
|optional | |optional | ||
|- | |- | ||
| | |GA (Thumb, Inner-Lower) | ||
|Global | |Global | ||
| | | | ||
Line 464: | Line 470: | ||
|optional | |optional | ||
|- | |- | ||
| | |GA (Thumb, Outer) | ||
|Global | |Global | ||
| | | | ||
Line 470: | Line 476: | ||
|optional | |optional | ||
|- | |- | ||
| | |GA (Index Finger) | ||
|Global | |Global | ||
| | | | ||
Line 476: | Line 482: | ||
|optional | |optional | ||
|- | |- | ||
| | |GA (Grip) | ||
|Global | |Global | ||
| | | | ||
Line 482: | Line 488: | ||
|optional | |optional | ||
|- | |- | ||
| | |GA (Stick Deflection) | ||
|Global | |Global | ||
| | | | ||
Line 500: | Line 494: | ||
|optional | |optional | ||
|- | |- | ||
! colspan=" | ! colspan="2" |Gesture | ||
! colspan="3" |(?) | |||
|- | |- | ||
| | |Gesture - Trigger Axis | ||
|Global | |Global | ||
| | | | ||
| | |vector1 | ||
|optional | |optional | ||
|- | |- | ||
| | |Gesture - Grip Axis | ||
|Global | |Global | ||
| | | | ||
| | |vector1 | ||
|optional | |optional | ||
|- | |- | ||
| | ! colspan="2" |<nowiki>Gesture Direct | Use Gesture (UG)</nowiki> | ||
! colspan="3" |Used to directly set the integer values of [https://creators.vrchat.com/avatars/animator-parameters/#gestureleft-and-gestureright-values GestureLeft/GestureRight] | |||
| | |||
| | |||
|- | |- | ||
| | |UG - Neutral (Left/Right) | ||
|Global | |Global | ||
| | |Sets Gesture(Left/Right) to <code>0 (Neutral)</code> | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |UG - Fist (Left/Right) | ||
|Global | |Global | ||
| | |Sets Gesture(Left/Right) to <code>1 (Fist)</code> | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |UG - Open (Left/Right) | ||
|Global | |Global | ||
| | |Sets Gesture(Left/Right) to <code>2 (HandOpen)</code> | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |UG - Point (Left/Right) | ||
|Global | |Global | ||
| | |Sets Gesture(Left/Right) to <code>3 (FingerPoint)</code> | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |UG - Peace (Left/Right) | ||
|Global | |Global | ||
| | |Sets Gesture(Left/Right) to <code>4 (Victory)</code> | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |UG - Horns (Left/Right) | ||
|Global | |Global | ||
| | |Sets Gesture(Left/Right) to <code>5 (RockNRoll)</code> | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |UG - Finger Gun (Left/Right) | ||
|Global | |Global | ||
| | |Sets Gesture(Left/Right) to <code>6 (HandGun)</code> | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |UG - Thumbs Up (Left/Right) | ||
|Global | |Global | ||
| | |Sets Gesture(Left/Right) to <code>7 (Thumbsup)</code> | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
! colspan=" | ! colspan="2" |Gesture Wheel (GW) | ||
! colspan="3" |Gesture wheel of emotes based on pre-input 2.0 Vive touchpad Gesture control | |||
|- | |- | ||
| | |GW (Left/Right) | ||
|Global | |Global, Act, 1H | ||
| | |The XY position of the gesture wheel | ||
|vector2 | |vector2 | ||
|optional | |optional | ||
|- | |- | ||
| | |GW Select (Left/Right) | ||
|Global, Act, 1H | |||
|Selects a gesture that will be released after activation stops | |||
|Global | |||
| | |||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |GW Held (Left/Right) | ||
|Global | |Global, Act, 1H | ||
| | |Selects a gesture that will remain after activation stops | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |GW Direct (Left/Right) | ||
|Global | |Global, Act, 1H | ||
| | |(?) | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |GW Direct Stay (Left/Right) | ||
|Global, Act, 1H | |||
|(?) | |||
|Global | |||
| | |||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |GW Soft Select (Left/Right) | ||
|Global | |Global, Act, 1H | ||
| | |Selects a gesture which can be used with Gesture wheel Weight | ||
|vector1 | |vector1 | ||
|optional | |optional | ||
|- | |- | ||
| | |GW Weight (Left/Right) | ||
|Global | |Global, Act, 1H | ||
| | |Analog driving value of the current gesture | ||
|vector1 | |vector1 | ||
|optional | |optional | ||
|- | |- | ||
| | |GW Cancel (Left/Right) | ||
|Global, Act, 1H | |||
|Sets the current gesture to <code>1 (Fist)</code> and <code>0 (neutral)</code> after release | |||
|Global | |||
| | |||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |GW Cancel Open (Left/Right) | ||
|Global | |Global, Act, 1H | ||
| | |Sets the current gesture to <code>2 (HandOpen)</code> and <code>0 (neutral)</code> after release | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |GW Disable Move (Left/Right) | ||
|Global | |Global, Act, 1H | ||
| | |Disables gesture wheel while clicked (prevents emotes while walking) | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |GW Disable Rotate (Left/Right) | ||
|Global | |Global, Act, 1H | ||
| | |Disables gesture wheel while clicked (prevents emotes while rotating) | ||
|boolean | |boolean | ||
|optional | |optional | ||
|- | |- | ||
| | |Disable Gesture Tracked | ||
|Global | |Global, Action | ||
| | |Stops gesture wheel from running while clicked. (Prevents inputs while moving) | ||
|boolean | |boolean | ||
|optional | |optional | ||
|} | |} | ||
Every bindable Action for SteamVR controllers in VRChat. Found in <code>VRChat\VRChat_Data\StreamingAssets\SteamVR\actions.json</code> (Descriptions are community created) | |||
==Walkthroughs== | ==Walkthroughs== |
Revision as of 23:57, 29 August 2024
[Reason: No reason provided.]
SteamVR input is a universal keybind system for all controllers usable in SteamVR. Instead of binding keys like "space" to jump, VR game developers provide actions we can directly bind to inputs on SteamVR controllers. The UI also provides a way for users to find or share community bindings. [1]
Official VRChat SteamVR Input 2.0 documentation[2]
Official VRChat SteamVR input 2.0 FAQ[3]
Where
Standard method
- Open SteamVR
- Find Settings
- Select Controllers
- Set Advanced Setting to Show
- Select Show Binding UI
- Select VRChat from the list of applications
Via web browser
- Go to http://localhost:27062/dashboard/controllerbinding.html while SteamVR is running
- Select
VRChat
from the list of applications
Via VRChat
Glossary
Terms | Explanation |
---|---|
Bindings | A complete set of bindings between inputs and actions that can be saved and shared in the Steam Workshop. |
Action | Behavior that can be bound to inputs or chords, like movement, selection, or bringing up the camera or personal mirror. |
Action set | A group of actions that corresponds to a specific context, like using the menu or action menu, or global actions that are available in any context. |
Control source | A specific physical actuator on a controller, like a joystick, trigger, button, or trackpad. |
Control source mode
(Use control as) |
A mapping that defines how a control source's movements or sensors are interpreted as inputs.
For example, a trackpad can be mapped as dpad or a button, and a joystick can be mapped as joystick or scroll wheel. |
Input | A specific movement or sensor reading from a control, interpreted through a control source mode.
For example, a button's control source mode might provide touch, press, hold, or double-press inputs. |
Mostly from the official docs but with some edits for clarity.
Control Source Mode | Provided Inputs |
---|---|
Button | Touches, Clicks, Holds, Double clicks, and Long presses |
Trigger | Touch (or any press), Click if there is a physical click at the end of the trigger, and the ammount (0-1) the trigger is depressed) |
Joystick | XY Positioning, touches, and presses |
Trackpad | XY Positioning, touches, and presses |
DPAD | Splits the the XY control source into North, East, South, and West quadrants. Can be used in touch or click mode. |
Grab | Combines capacitive sensors and force sensors to report a more reliable grab |
Force Sensor | Gives analog actions a 0-1 value indicating how much force the user is applying to the control |
Set analog Action | Allows you to use a digital (on/off) control to a set an analog (0-1) value |
Toggle Button | One press for on, one press for off |
Radial Menu | (?) |
Input | Usage | Types | Control Source |
---|---|---|---|
Click | Pressing the control | boolean | Any |
Touch | Touching the assigned control (If it has a touch sensor) | boolean | Any |
Single | Pressing the control once | boolean | Button |
Double | A quick double press of the control | boolean | Button |
Long | Hold the control for 0.5 seconds (?) | boolean | Button |
Held | Sets the action to true while the button is held after the long duration. | boolean | Button |
Pull | Value 0-1 representing what percentage the trigger is depressed | vector1 | Trigger |
Position | The position you are touching on a touchpad or the position you've pushed a joystick to. | vector2 | Trackpad / Joystick |
Action | Action Set | Description | Type | Requirement |
---|---|---|---|---|
Menu | Global, 1H | Dual purpose. One activation opens quick menu. Holding it opens the action menu. Double press opens the main menu (If enabled) | boolean | suggested |
Main Menu | Global | Opens the Main Menu | boolean | optional |
Quick Menu | Global | Opens the Quick Menu | boolean | optional |
Action Menu | Global | Opens the Action Menu | boolean | optional |
Interact | Global, 1H | Interact with world objects and poses physbones | boolean | |
Grab | Global, 1H | Picks up grabbable world objects | boolean | |
Drop | Global, 1H | Drops held item. If bound this will enable auto hold functionality. (Items will not be dropped until this is used) | boolean | optional |
Move | Global, 1H | Player movement | vector2 | |
Jump | Global, 1H | Jump! | boolean | |
Rotate | Global | Player rotation | vector2 | |
Advanced Controls | Alternative movement for touchpads that share the Gesture Wheel | |||
Start Move (Advanced) | Global | When this is clicked, begin moving. | boolean | optional |
Start Rotate (Advanced) | Global | When this is clicked, begin rotating | boolean | optional |
Continue Move (Advanced) | Global | If Start move is released, as long as this is active, movement will continue. | boolean | optional |
Continue Rotate (Advanced) | Global | If Start rotate is released, as long as this is active, rotation will continue. | boolean | optional |
No Gesture After Move | Global | Prevents Gesture Wheel touches after Start move click is released | boolean | optional |
No Gesture After Rotate | Global | Prevents Gestures Wheel touches after Start rotate click is released | boolean | optional |
Miscellaneous | Other optional functionalities | |||
Toggle Microphone | Global, 1H | Toggles the microphone | boolean | |
Gesture Toggle | Global, 1H | Toggles Gestures | boolean | optional |
Cycle Nameplate Mode | Global | Cycles through the nameplates modes | boolean | optional |
Toggle HUD | Global | Toggles the HUD | boolean | optional |
Open Chatbox | Global | Opens the Chatbox | boolean | optional |
Toggle Personal Mirror | Global | Toggles the Personal Mirror | boolean | optional |
Toggle Earmuffs | Global | Toggles Earmuffs | boolean | optional |
Open Camera | Global | Toggles the camera | boolean | optional |
Activate Safe Mode | Global | Activates Safe mode | boolean | suggested |
Proximity Sensor | Global | When active, trigger AFK in VRChat | boolean | optional |
One Handed | Specifically for the one handed action set | |||
Move & Rotate | One_Hand | Combined movement & rotation | vector2 | suggested |
Start Move & Rotate | One_Hand | When clicked begin Move & Rotate | boolean | optional |
Continue Move & Rotate | One_Hand | When Start Move & Rotate released, continue as long as this is active. | boolean | optional |
No Gesture After Move & Rotate | One_Hand | Prevents gestures afterMove & Rotate is released | boolean | optional |
Udon | Inputs used by Udon worlds | |||
Udon Menu | Global, 1H | Registerable by VRChat worlds with Udon. | boolean | optional |
Udon Trigger Axis | Global, 1H | Registerable by VRChat worlds with Udon. | vector1 | optional |
Udon Grip Axis | Global, 1H | Registerable by VRChat worlds with Udon. | vector1 | optional |
Udon Stick Click | Global, 1H | Registerable by VRChat worlds with Udon. | boolean | optional |
Menu | Specifically for the menu action set | |||
Confirm | Menu | Clicks on menu items | boolean | suggested |
Back | Menu | Returns to the previous page (or closes the menu?) | boolean | optional |
Tab | Menu | (?) | boolean | optional |
Scroll | Menu | Scrolls in the menu | vector2 | |
Close Quick Menu | Menu | Closes the Quick Menu | boolean | optional |
Drag | Menu | (?) | boolean | optional |
Action Menu | Specifically for the action menu action set | |||
Axis | Action | Directional control in the action menu | vector2 | suggested |
Select | Action | Select hovering item in the action menu | boolean | |
(?) | Unspecified | |||
Pose Data | Global | The 6-DOF position and orientation of a device tracked device. | pose | |
SkeletonLeftHand | Global | Used to retrieve bone transform data from the related controllers | skeleton | suggested |
SkeletonRightHand | Global | skeleton | ||
Haptics | Global, 1H | Used to apply various haptics to the device. (Such as when hovering over menu elements or the personal mirror) | vibration | |
Gesture Activator (GA) | Activators for (?) | |||
GA (Thumb) | Global | boolean | optional | |
GA (Thumb Inner-Upper) | Global | boolean | optional | |
GA (Thumb, Inner-Lower) | Global | boolean | optional | |
GA (Thumb, Outer) | Global | boolean | optional | |
GA (Index Finger) | Global | boolean | optional | |
GA (Grip) | Global | boolean | optional | |
GA (Stick Deflection) | Global | vector2 | optional | |
Gesture | (?) | |||
Gesture - Trigger Axis | Global | vector1 | optional | |
Gesture - Grip Axis | Global | vector1 | optional | |
Gesture Direct | Use Gesture (UG) | Used to directly set the integer values of GestureLeft/GestureRight | |||
UG - Neutral (Left/Right) | Global | Sets Gesture(Left/Right) to 0 (Neutral)
|
boolean | optional |
UG - Fist (Left/Right) | Global | Sets Gesture(Left/Right) to 1 (Fist)
|
boolean | optional |
UG - Open (Left/Right) | Global | Sets Gesture(Left/Right) to 2 (HandOpen)
|
boolean | optional |
UG - Point (Left/Right) | Global | Sets Gesture(Left/Right) to 3 (FingerPoint)
|
boolean | optional |
UG - Peace (Left/Right) | Global | Sets Gesture(Left/Right) to 4 (Victory)
|
boolean | optional |
UG - Horns (Left/Right) | Global | Sets Gesture(Left/Right) to 5 (RockNRoll)
|
boolean | optional |
UG - Finger Gun (Left/Right) | Global | Sets Gesture(Left/Right) to 6 (HandGun)
|
boolean | optional |
UG - Thumbs Up (Left/Right) | Global | Sets Gesture(Left/Right) to 7 (Thumbsup)
|
boolean | optional |
Gesture Wheel (GW) | Gesture wheel of emotes based on pre-input 2.0 Vive touchpad Gesture control | |||
GW (Left/Right) | Global, Act, 1H | The XY position of the gesture wheel | vector2 | optional |
GW Select (Left/Right) | Global, Act, 1H | Selects a gesture that will be released after activation stops | boolean | optional |
GW Held (Left/Right) | Global, Act, 1H | Selects a gesture that will remain after activation stops | boolean | optional |
GW Direct (Left/Right) | Global, Act, 1H | (?) | boolean | optional |
GW Direct Stay (Left/Right) | Global, Act, 1H | (?) | boolean | optional |
GW Soft Select (Left/Right) | Global, Act, 1H | Selects a gesture which can be used with Gesture wheel Weight | vector1 | optional |
GW Weight (Left/Right) | Global, Act, 1H | Analog driving value of the current gesture | vector1 | optional |
GW Cancel (Left/Right) | Global, Act, 1H | Sets the current gesture to 1 (Fist) and 0 (neutral) after release
|
boolean | optional |
GW Cancel Open (Left/Right) | Global, Act, 1H | Sets the current gesture to 2 (HandOpen) and 0 (neutral) after release
|
boolean | optional |
GW Disable Move (Left/Right) | Global, Act, 1H | Disables gesture wheel while clicked (prevents emotes while walking) | boolean | optional |
GW Disable Rotate (Left/Right) | Global, Act, 1H | Disables gesture wheel while clicked (prevents emotes while rotating) | boolean | optional |
Disable Gesture Tracked | Global, Action | Stops gesture wheel from running while clicked. (Prevents inputs while moving) | boolean | optional |
Every bindable Action for SteamVR controllers in VRChat. Found in VRChat\VRChat_Data\StreamingAssets\SteamVR\actions.json
(Descriptions are community created)
Walkthroughs
Adding new inputs
TODO
TODO
Creating Chords
TODO
Dead zones
TODO
Trigger thresholds
TODO
Changing haptics
TODO
DPAD overlap percentage
TODO
Don'ts
There's certain things you can do to bindings that can cause issues. Try to avoid them when possible
Multiple actions per control source
When you bind multiple actions like this, it stops them from functioning instantaneously and can make them unpredictable. [1]
A functional use case would be setting action menu to Single
and quick menu to Double
; this will introduces a small delay after the single
press input which can be interrupted by a double
click to open the quick menu without accidentally opening the action menu.
Controller info & fixes
Can't do gestures at all
By default coming into the Input 2.0 update, gestures were set to disabled. You can enable them in them in the Action Menu.
Path: Action Menu ➜ Options ➜ Avatar ➜ Gestures
TODO: GIF navigating to toggle
Double tap is opening the Main Menu
This feature was introduced with Input 2.0. You can disable it in the Controls section of the Main Menu
TODO: Location of toggle in context
Disabling finger tracking
Skeletal based finger tracking is enabled by default for all controller types. You can disable it in the Controls section of the Main Menu
TODO: Location of toggle in context
Reverting to old finger tracking
If you prefer the old finger tracking method, navigate to the Quick Actions section of the Action Menu and enabling Legacy fingers. (this will need to be done on a per-avatar basis)
Path: Action Menu ➜ Expressions ➜ Quick Actions ➜ Legacy Fingers
TODO: GIF navigating to toggle
Default & Community bindings
TODO: guide to the binding select page with an image.
TODO: Link to SteamVR beta for a fix on community bindings (remove later when fixed)
Hard bindings reset
In rare cases, a full hard reset of your bindings may be needed due to issues with SteamVR.
TODO
Vive
Vive is a little special, two default binding modes are available with different feature sets. (TODO: write about them)
No touch to move / Emotes are "sticky"
It's likely that you previously used Vive Advanced controls before Input 2.0. You can restore Advanced behavior you're used to by switching from Default Bindings over to the Default Advanced Bindings which can be found on the bindings select page.
Difficulty moving
The default thresholds for movement on Vive controllers require you to hit the very edges of the touchpad. This can be changed by adjusting Dead zones.
TODO: Recommended values for Simple & Advanced
Accidental jumping
With a mix of adjustments to Overlap percentage & Dead zone on the Trackpad DPADs, you can restore pre-Input 2.0 behavior.
TODO: Recommended values for both
Grip isn't doing hand open / Isn't clearing gestures
This seems to be an oversight with Vive Advanced Bindings, you'll need to add the Gesture_wheel_cancel_open_left & right actions to your grips as a Button press inputs.
TODO: image showing what the newly added button should look like
Index
Easier Object holding
HP Reverb G2
TODO: More controller types, need users with more experience on other types.