Skip to content

The advanced input mode

getItemFromBlock edited this page Aug 27, 2023 · 6 revisions

The advanced input mode will emulate a virtual gamepad that you can bind to any of the supported inputs. This mod lets you do a lot of things, like use joysticks/keyboard/mouse, remap axis or buttons, or even add a deadzone to your gamepad.
Unlike the simple mode, it require some settings to work.
The advanced mode relies on a custom input system different from the one used by Minecraft. This means that you cannot configure your inputs for the mod directly in the keybind menu.
The custom input menu will take priority when you use the controller in-game. This means that you can safely bind a key that would otherwise do something in-game (like the movement keys or mouse buttons). if you bind the right mouse button, you can still exit the controller by either pressing the controller exit key (default to tab, can be changed in the vanilla keybind menu) or the escape key. The escape key will always work even if you manage to bind it.

IMPORTANT NOTICE

Mouse cursor inputs are used with two keybinds, please take a look at this section for more info.

Enabling the advanced mode

To enable the advanced mode, you will need to access the mod's configurations. You can do that from either the main menu or the pause menu.
Click on the controller button on the main/pause menu (by default located on the right). From there go to "General configurations" and enable the option "Use custom mappings". Don't forget to save the changes before leaving.

Using the advanced mode

After enabling the advanced mode, the "Controller configurations" button in the mod's config menu should be enabled. This new menu works similar to the vanilla keybind screen.

The gamepad input display will change depending on the inputs you press, you can use it to check you current layout.
The save and Load buttons at the bottom are used to save/load to file. The profile that you configure needs to be saved manually. The file is located at "/config/gamepad_profiles/". For now one file is used, but this might change in the future.

Click on an input to change it. While an input is being bind, the corresponding gamepad input will show on the controller input display. Keep in mind that mouse movement count as input sources. You should let your joystick/trigger in its default position before binding it to an axis input.
Supported inputs are : keyboard keys, mouse buttons, mouse cursor axis, joystick buttons and joystick axis. Each input type can be configured.
In the config of an input, the two bottom box ("Output value as ...") show the data after being processed by the current settings.
Button inputs (keyboard, mouse buttons and joystick buttons) have an option to invert the value.
Axis inputs have more options, like a min and max bound.

Clone this wiki locally