update README for telemetry
This commit is contained in:
parent
3de875d35f
commit
272d1522d7
93
README.md
93
README.md
@ -1,5 +1,5 @@
|
||||
# gamepad-viewer
|
||||
Displays live status about gamepads connected to your computer
|
||||
Displays live status about gaming devices connected to your computer.
|
||||
|
||||
## Demo
|
||||
[gamepad.e7d.io](https://gamepad.e7d.io/)
|
||||
@ -13,23 +13,97 @@ Displays live status about gamepads connected to your computer
|
||||
- `C`: Change active gamepad color
|
||||
- `D`: Toggle debug mode for active gamepad
|
||||
- `H`: Toggle help menu
|
||||
- `T`: Toggle triggers meter mode
|
||||
- `T`: Toggle triggers mode (opacity / meter)
|
||||
- `Delete` or `Esc`: Clear active gamepad
|
||||
|
||||
## Supported Gamepads
|
||||
## Supported gamepads
|
||||
|
||||
- Sony DualSense*
|
||||
- Sony DualShock 4*
|
||||
- Microsoft Xbox Series Controller*
|
||||
- Microsoft Xbox One Controller*
|
||||
- Microsoft Xbox 360 Controller
|
||||
- Nintendo Switch Pro Controller*
|
||||
- Xinput compatible gamepads
|
||||
|
||||
## How to use on OBS Studio
|
||||
Please read below or use this video tutorial: https://youtu.be/vHzf_ESseTc
|
||||
- Go to [gamepad.e7d.io](https://gamepad.e7d.io/)
|
||||
- Activate the controller you want to use on OBS by long pressing one of its buttons
|
||||
- Configure it as desired: adjust zoom, change color...
|
||||
- Copy the resulting web page URL (i.e.: https://gamepad.e7d.io/?type=ds4&color=white)
|
||||
## Parameters
|
||||
|
||||
All the parameters are set in the URL.
|
||||
| **Parameter** | **Description** | **Value** | **Default** |
|
||||
|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|
|
||||
| gamepad | The controller ID of a specific gamepad to use. Please find the controller ID by using the help displayed using the `h` keyboard button. | i.e.: `Microsoft Controller (STANDARD GAMEPAD Vendor: 045e Product: 0b00)` | |
|
||||
| type | The type of controller (the "skin") to display to the screen.<br>When possible, the type of controller is auto detected to display the corresponding skin. | - `debug`<br>- `dualsense`<br>- `ds4`<br>- `xbox-one`<br>- `telemetry` (beta mode for wheels that requires specific configuration) | |
|
||||
| background | The background color. | - `transparent`<br>- `checkered`<br>- `grey`<br>- `black`<br>- `white`<br>- `lime`<br>- `magenta` | `transparent` |
|
||||
| color | The displayed gamepad color. | Depending of the selected display `type`. | |
|
||||
| triggers | The triggers display mode, when applicable. | - `opacity`<br>- `meter` | `opacity` |
|
||||
| zoom | The zoom level of the display controller. | Any integer value from `0.1` to `4`, corresponding to a zoom value for 10% to 400%.<br>When no value is set, the zoom is auto adjusted to fit the window size. | |
|
||||
|
||||
## Telemetry configuration
|
||||
|
||||
The `telemetry` display mode is a beta mode, designed for wheels, that requires specific configuration.
|
||||
|
||||
### Axes and buttons mapping
|
||||
|
||||
The `telemetry` mode requires for you to determine which axes or buttons will be used used for each telemetry data: clutch, brake, throttle and direction.
|
||||
|
||||
To help you do so, you need to access the Gamepad Viewer with the `debug` skin. To do so, you can go to https://gamepad.e7d.io/?type=debug, and press any button for detection.
|
||||
|
||||
For each of the axes or buttons you want to use, activate them one by one, and proceed as following:
|
||||
- observe the changing value in the `Axes` and `Buttons` sections to determine the correct entry
|
||||
- note down its type (axis or button) and its index.
|
||||
- for the clutch, brake and throttle, note down the minimum (when released) and maximum (when pressed) values
|
||||
- for the direction, note down the minimum (left) and maximum (right) values
|
||||
|
||||
For example with a **Thrustmaster T818**, you should get the following values:
|
||||
- clutch: axis 6, min 1, max -1
|
||||
- brake: axis 1, min 1, max -1
|
||||
- throttle: axis 5, min 1, max -1
|
||||
- direction: axis 0, min -1, max 1
|
||||
|
||||
Another example with a **Xbox one controller** with the A button used as clutch, the triggers as brake and throttle, and the left stick as direction. You should get the following values:
|
||||
- clutch: button 0, min 0, max 1
|
||||
- brake: button 6, min 0, max 1
|
||||
- throttle: button 7, min 0, max 1
|
||||
- direction: axis 0, min -1, max 1
|
||||
|
||||
### Telemetry parameters
|
||||
|
||||
All the parameters are set in the URL.
|
||||
| **Parameter** | **Description** | **Value** | **Default** |
|
||||
|---|---|---|---|
|
||||
| clutchType | The clutch type, either an axis or a button. | `axis` or `button` | `axis` |
|
||||
| clutchIndex | The index of the clutch axis or button. | A positive integer. | |
|
||||
| clutchMin | The minimum value when the clutch is fully released. | `-1`, `0` or `1` | `-1` |
|
||||
| clutchMax | The maximum value when the clutch is fully pressed. | `-1`, `0` or `1` | `1` |
|
||||
| brakeType | The brake type, either an axis or a button. | `axis` or `button` | `axis` |
|
||||
| brakeIndex | The index of the brake axis or button. | A positive integer. | |
|
||||
| brakeMin | The minimum value when the brake is fully released. | `-1`, `0` or `1` | `-1` |
|
||||
| brakeMax | The maximum value when the brake is fully pressed. | `-1`, `0` or `1` | `1` |
|
||||
| throttleType | The throttle type, either an axis or a button. | `axis` or `button` | `axis` |
|
||||
| throttleIndex | The index of the throttle axis or button. | A positive integer. | |
|
||||
| throttleMin | The minimum value when the throttle is fully released. | `-1`, `0` or `1` | `-1` |
|
||||
| throttleMax | The maximum value when the throttle is fully pressed. | `-1`, `0` or `1` | `1` |
|
||||
| directionType | The direction type, either an axis or a button. | `axis` or `button` | `axis` |
|
||||
| directionIndex | The index of the direction axis or button. | A positive integer. | |
|
||||
| directionMin | The value when the direction is fully on the left. | `-1`, `0` or `1` | `-1` |
|
||||
| directionMax | The value when the direction is fully on the right. | `-1`, `0` or `1` | `1` |
|
||||
| directionDegrees | The angle in degrees to represent the direction changes.<br>Common wheel values are `360`, `900` and `1080`. | A positive integer. | `360` |
|
||||
| fps | The number of render calculations per second.<br>The default `60` is smoother but can be challenging for the CPU.<br>Can be reduced to `30` for performance. | A positive integer. | `60` |
|
||||
| history | The duration in milliseconds of data to display in the history graph. | A positive integer. | `5000` |
|
||||
|
||||
### Examples
|
||||
|
||||
Some working examples:
|
||||
- Thrustmaster T818, with 900 degrees direction: http://gamepad.e7d.io/?gamepad=044f-b696&type=telemetry&clutchIndex=6&clutchMin=1&clutchMax=-1&brakeIndex=1&brakeMin=1&brakeMax=-1&throttleIndex=5&throttleMin=1&throttleMax=-1&directionIndex=0&directionDegrees=900
|
||||
- DualShock 4 or Xbox Controller, with 180 degrees direction representation: http://gamepad.e7d.io/?gamepad=045e-0b00&type=telemetry&brakeType=button&brakeIndex=6&brakeMin=0&brakeMax=1&throttleType=button&throttleIndex=7&throttleMin=0&throttleMax=1&directionIndex=0&directionDegrees=180
|
||||
- DualShock 4 or Xbox Controller, with clutch as A or Cross button, and 180 degrees direction representation: http://gamepad.e7d.io/?gamepad=045e-0b00&type=telemetry&clutchType=button&clutchIndex=0&clutchMin=0&clutchMax=1&brakeType=button&brakeIndex=6&brakeMin=0&brakeMax=1&throttleType=button&throttleIndex=7&throttleMin=0&throttleMax=1&directionIndex=0&directionDegrees=180
|
||||
|
||||
## How to use with OBS Studio
|
||||
Please read below:
|
||||
- Open [gamepad.e7d.io](https://gamepad.e7d.io/) in your browser
|
||||
- Activate the controller you want to display in OBS by long pressing one of its buttons
|
||||
- Configure it as desired: change skin, controller color, gamepad color, zoom...
|
||||
- Copy the resulting web page URL (i.e.: https://gamepad.e7d.io/?type=ds4&color=white&triggers=meter)
|
||||
- Go back to OBS Studio
|
||||
- Add a Browser source: Right click in "Sources" > "Add" > "Browser"
|
||||
- Name it as you want (i.e.: "Gamepad")
|
||||
@ -41,3 +115,4 @@ Please read below or use this video tutorial: https://youtu.be/vHzf_ESseTc
|
||||
|
||||
## Credits
|
||||
DualShock 4 and Xbox One skins from [gamepadviewer.com](https://gamepadviewer.com/)
|
||||
DualSense skin from [justEhCupcake](https://github.com/justEhCupcake/justEhCupcake.github.io/tree/main/PS5_Display_Pics)
|
||||
|
@ -98,7 +98,7 @@
|
||||
<option value="dualsense">DualSense</option>
|
||||
<option value="xbox-one">Xbox One</option>
|
||||
<option value="debug">Debug</option>
|
||||
<option value="telemetry">Telemetry</option>
|
||||
<option value="telemetry">Telemetry (Beta)</option>
|
||||
</select>
|
||||
</span>
|
||||
<span id="background">
|
||||
|
@ -1109,7 +1109,7 @@ class Gamepad {
|
||||
} else if (level === 0) {
|
||||
// 0 means a zoom reset
|
||||
this.zoomLevel = 1;
|
||||
} else if (level === '+' && this.zoomLevel < 2) {
|
||||
} else if (level === '+' && this.zoomLevel < 4) {
|
||||
// '+' means a zoom in if we still can
|
||||
this.zoomLevel += 0.1;
|
||||
} else if (level === '-' && this.zoomLevel > 0.1) {
|
||||
|
@ -1,4 +0,0 @@
|
||||
Samples:
|
||||
- T818: http://localhost:8081/?gamepad=044f-b696&type=telemetry&clutchIndex=6&clutchMin=1&clutchMax=-1&brakeIndex=1&brakeMin=1&brakeMax=-1&throttleIndex=5&throttleMin=1&throttleMax=-1&directionIndex=0&directionDegrees=900
|
||||
- Xbox Controller: http://localhost:8081/?gamepad=045e-0b00&type=telemetry&brakeType=button&brakeIndex=6&brakeMin=0&brakeMax=1&throttleType=button&throttleIndex=7&throttleMin=0&throttleMax=1&directionIndex=0&directionDegrees=180
|
||||
- Xbox Controller with clutch: http://localhost:8081/?gamepad=045e-0b00&type=telemetry&clutchType=button&clutchIndex=0&clutchMin=0&clutchMax=1&&brakeType=button&brakeIndex=6&brakeMin=0&brakeMax=1&throttleType=button&throttleIndex=7&throttleMin=0&throttleMax=1&directionIndex=0&directionDegrees=180
|
Loading…
x
Reference in New Issue
Block a user