Documentation (#126)
* Fix indentation in action manifest * Rename action sets to drop unnecessary prefix notation Since the variable is in the action_sets namespace it does not make sense to prepend it with an identifier for it being constant, or a set. * Rename input keys to drop prefix notation The vars are in a namespace that only contains constant inputs, it doesn't make sense to prepend it to every var. * Rename actions to drop prefixes It is implicit that actions are const values for sets, therefore the prefix is not needed. * Remove unneeded action set member func * Move active action set in preparation for more action sets * Move action strings above class Class is not able to use variables in namespaces, which is stupid. * Move sets into member variable * Split music into separate action set * Convert action_manifest.json to spaces only * Refactor actions into separate action sets * Rename main set to haptic * Reorder action sets The haptics and misc sets are misc bindings. * added partial action list to readme * finished action descriptions. * fixed conflict * added no link guide * fixed formatting * linked input guide to main page * added pictures * fixed file directories * fixed formatting * removed force revive setting * changed version to RC2 * hid revive force on settings page * revert to RC1 * updated screenshots * updated documentation * updated straggler changes * minor formatting change * formatting * Update Readme.md Co-Authored-By: ykeara <ykeara1@gmail.com> * Update Readme.md Co-Authored-By: ykeara <ykeara1@gmail.com> * Update Readme.md Co-Authored-By: ykeara <ykeara1@gmail.com> * Update Readme.md Co-Authored-By: ykeara <ykeara1@gmail.com> * Update Readme.md Co-Authored-By: ykeara <ykeara1@gmail.com> * Update Readme.md Co-Authored-By: ykeara <ykeara1@gmail.com> * Update Readme.md Co-Authored-By: ykeara <ykeara1@gmail.com> * Update Readme.md Co-Authored-By: ykeara <ykeara1@gmail.com> * Update Readme.md Co-Authored-By: ykeara <ykeara1@gmail.com> * Update Readme.md Co-Authored-By: ykeara <ykeara1@gmail.com> * 2nd batch of changes * fixed formatting for table * fixed table
@@ -0,0 +1,121 @@
|
||||
# SteamVR Input Guide
|
||||
|
||||
## What is SteamVR Input?
|
||||
|
||||
- A universal keybind system for all controllers (in steamVR)
|
||||
- A way for You to share/find keybind layouts.
|
||||
- A way for developers to easily program for all controllers [needs a driver]
|
||||
|
||||
## What do I need to know?
|
||||
|
||||
- You don’t bind buttons like a/b. you bind “actions”
|
||||
- An action is simply just that an action…. Like “jump,” “shoot,” or “interact”
|
||||
- Action Have Types such as : Digital (on/off), Analog (range of values 0-100 say), or special ones like Vibration (specifically for haptics)
|
||||
|
||||
## Okay Cool? How do I do this?
|
||||
|
||||
1. Go to SteamVR dashboard->Steam->Controller Bindings OR go to http://127.0.0.1:8998/dashboard/controllerbinding.html from a desktop browser WHILE steamVR is running
|
||||
(pic)
|
||||
2. Select your application you want to modify keybinds (Advanced Settings will currently always be at the bottom)
|
||||
3. Select your Controller, (the controller must be on)
|
||||
4. Select your binding.
|
||||
5. Now We Are Ready to Bind our Actions!
|
||||
|
||||
### Binding UI
|
||||
|
||||

|
||||
|
||||
- A – Action sets, these tabs essentially let programmers have different keybinds for different events… say you may want different controls if you are driving a car versus running around. [In Advanced Settings we simply use them as a grouping utility, and ALL action sets are active ALL the time.]
|
||||
- B – Input options – your “buttons”
|
||||
- C – Chords/ Special Binds. More on these later.
|
||||
- D – Controller Diagram, visually shows you the button location on a depiction of the controller
|
||||
|
||||
### My First Bind
|
||||
|
||||
In this example we are going to use the "grip" button on a vive wand.
|
||||
|
||||
- First WE click the [+] on the grip line to create an emtpy binding
|
||||
|
||||

|
||||
|
||||
- We then select the behavior of the button.
|
||||
|
||||

|
||||
|
||||
- Button – action is active when button is pressed
|
||||
- Toggle Button – Action toggles state when button is pressed i.e. on until pressed again
|
||||
- Set Analog Action – for Actions that are not binary i.e. trigger is pressed 50%
|
||||
- Now we select our action for the button “click” By Clicking the “none” box.
|
||||
- Upon Clicking it a popup will let us choose the desired action.
|
||||
|
||||

|
||||
|
||||
- Now Simply Click the Checkmark to save changes, and you should be good to go!
|
||||
|
||||
### Advanced Bindings
|
||||
|
||||
And you thought you were done?
|
||||
|
||||
- First we will start by editing an action, hover over a set action and click the pen
|
||||
|
||||

|
||||
|
||||
- Now you will notice two important things the “more options” and the cog.
|
||||
- The Cog allows you to set up haptics for activating an action
|
||||
|
||||

|
||||
|
||||
- Amplitude - how powerful 0-100% the haptics should be.
|
||||
- Duration – how long it will last 0-4 seconds.
|
||||
- Frequency – The frequency/”feel” of the vibration
|
||||
- But What about the “more options?!”
|
||||
|
||||

|
||||
|
||||
- Single – single click
|
||||
- Double – double click (about .25 seconds in between clicks max)
|
||||
- Long Hold – Long hold ~1-2 seconds
|
||||
- Held – Action active when held!
|
||||
- Touch – Active when the button is being touched (knuckles/ touch)
|
||||
- And More – Analog inputs (i.e. Triggers/joysticks/ trackpads ) have more options and configurations you can try out!
|
||||
|
||||
### Chord Bindings
|
||||
|
||||
**The Combo Maker!** Chords are just that, they allow you to combine a combination of Keys to do an action for example a Grip + trigger + trackpad Press.
|
||||
|
||||
**NOTE:** For you to be able to select a button in the chord menu you need to have clicked the [+] for the button and have an empty slot like below, And the behavior (toggle/Button etc.) must also be correct.
|
||||
|
||||

|
||||
|
||||
- Make sure you have empty Bindings or a binding for all keys you will want to use in your chord, then click the “Add Chords” followed by “Add New Chord”.
|
||||
- You will be prompted for an action, select the result of your chord.
|
||||
- You will Now see the prototype for your chord and can add inputs as you desire
|
||||
|
||||

|
||||
|
||||
- And keep adding if you want to make sure you really don’t accidently press it!
|
||||
|
||||

|
||||
|
||||
- That’s is it add more or close and you are done!
|
||||
|
||||
### Odds and Ends.... and Haptics!
|
||||
|
||||
- Haptics are a special Action. as it essentially tells the program which controller this haptic “action” belongs to.
|
||||
- The add/edit Haptics button will be next to the add/edit chord button. [in our app haptics only exist in the “haptics” action set, as such you will want to set them.]
|
||||
- **YOU MUST HAVE AN EMPTY BINDING**, otherwise haptics will not be bind-able. Anything will do… even “unused”
|
||||
|
||||

|
||||
|
||||
- Other than that just place the appropriate haptic action in the appropriate spot!
|
||||
|
||||
### But Wait it’s Broke!
|
||||
|
||||
- We recommend a Separate bind for every action. Multiple actions to one bind can cause un-predictable behavior.
|
||||
|
||||

|
||||
|
||||
- This Guide Did not cover Legacy Applications or Simulated Actions, as the old input method is deprecated.
|
||||
- We also include default bindings with our program, but it is impossible for us to include bindings for all controllers.
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 217 KiB After Width: | Height: | Size: 142 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 59 KiB |