Built-in Inputs
For each controller input, like pressing the A button, or pushing up on the left stick, Controlify has a unique identifier that uses Minecraft's resource location system.
These inputs are provided arbitrarily by controller drivers, but these are some of the common ones.
Gamepad Inputs
Buttons
controlify:button/southcontrolify:button/eastcontrolify:button/westcontrolify:button/northcontrolify:button/left_shouldercontrolify:button/right_shouldercontrolify:button/left_stickcontrolify:button/right_stickcontrolify:button/backcontrolify:button/startcontrolify:button/guidecontrolify:button/dpad_upcontrolify:button/dpad_downcontrolify:button/dpad_leftcontrolify:button/dpad_right
Axes
controlify:axis/left_triggercontrolify:axis/right_triggercontrolify:axis/left_stick_upcontrolify:axis/left_stick_downcontrolify:axis/left_stick_leftcontrolify:axis/left_stick_rightcontrolify:axis/right_stick_upcontrolify:axis/right_stick_downcontrolify:axis/right_stick_leftcontrolify:axis/right_stick_right
Additional Inputs
For example, on DualSense, misc_1 is the mute button. Most of these remain unused by most controller drivers.
controlify:button/misc_1controlify:button/misc_2controlify:button/misc_3controlify:button/misc_4controlify:button/misc_5controlify:button/misc_6
Paddles
INFO
Some controllers with paddles, like the Xbox Elite controllers, do not work with this. Their paddles are mapped to other buttons in the firmware of the controller. No data of paddles ever reaches the connected computer.
controlify:button/right_paddle_1controlify:button/right_paddle_2controlify:button/left_paddle_1controlify:button/left_paddle_2
Touchpad
The actual actuation click of the touchpad itself, hence, a button.
controlify:button/touchpad_1controlify:button/touchpad_2
Generic Joystick Inputs
For generic joysticks with an arbitrary amount of buttons and axes, Controlify creates resource locations by using the index of the button or axis.
Buttons
controlify:button/<buttonindex>
So for index 0, it would be controlify:button/0.
Axes
controlify:axis/<axisindex>/(positive|negative)
So for index 0, pushing in the positive direction, it would be controlify:axis/0/positive.
INFO
Controlify axes operate within a range of [0, 1], not [-1, 1]. Hence, each axis is split into two inputs: one for the positive direction, and one for the negative direction.