-
Notifications
You must be signed in to change notification settings - Fork 7
Tutorials on the advanced mode
This page will help you to configure the advanced input mode
The easiest way to configure a joystick is to bind every input one by one.
Buttons should not be a problem, however axis can be more tricky. The axis detection is optimized for gamepad inputs, this means that if your joystick has some strange output (like a starting position of 0.5) the automatic detection might not detect it properly. If you see that the axis on the controller display does not match your input, go to the configurations of your axis (the config button on the right) to access the config menu.

Here you can change the axis bounds to remap it to the correct values. The "Raw axis input value" shows the value directly returned by the joystick axis.
By using the raw axis value, you can set the lower bound to the value of your axis at resting position, and set the upper bound to the maximum value your axis can reach. For example, a trigger axis will usually have a resting value of -1.0, and a maximum value of 1.0. A joystick will have a resting value of 0.0 (or near 0, see next tutorial for more info) and a maximum value of ±1.0, depending if we are on the positive or negative side.
Most joystick will have a resting position of something near but not 0. This can be cause by many factors, and the difference can be big enough to output a redstone value when bound to a redstone link. To prevent that, the most common solution is to add a deadzone.
While the advanced input mode does not have a direct option for that, it is easy to implement.
For that, goes to the config of your faulty axis and change the lower bound to be around or greater than the default position for your joystick.
Example:
My joystick's default position are around ±0.05, i can set the lower bounds like the following:
- -0.05 to the -X and -Y axis
- 0.05 to the +X and +Y axis

If done correctly, the "output value as axis" box should return to 0 when you let your joystick go in its resting position, and change when you start moving your joystick.
The mouse cursor can be used as an axis input source. However, it is a little more complicated than a joystick axis. First of all the mouse cursor requires some keybinds to work:
- Grab mouse movement
- Center mouse cursor
Theses keybinds are located in the vanilla keybind screen.
The first key is used in-game to lock the camera and send the mouse movement to the controller. You need to hold this key while you want to lock the camera. If you want the key to be a toggle, you can change this behavior in the general configs.
The second key is used to reset/center the virtual cursor used by the mod. By default the cursor is auto centered when using the controller. You can change this behavior in the general settings.

The mouse input config has two more options than the joystick axis :
- Use Y instead of X input
- Use velocity instead of position
The first option is to switch between using the X or Y axis of the mouse.
The second option is to use mouse velocity instead of the relative position of the cursor. This option can be useful for controlling things like a tank turret, but you might need to change the bounds to match your mouse sensitivity.