Skip to content

Commit ce3d738

Browse files
committed
Add 5 more misc inputs
1 parent ce2b719 commit ce3d738

File tree

4 files changed

+116
-0
lines changed

4 files changed

+116
-0
lines changed

src/main/java/dev/isxander/controlify/controller/input/GamepadInputs.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ private GamepadInputs() {
4949

5050
// ADDITIONAL INPUTS - NOT PRESENT ON ALL GAMEPADS
5151
public static final ResourceLocation MISC_1_BUTTON = button("misc_1");
52+
public static final ResourceLocation MISC_2_BUTTON = button("misc_2");
53+
public static final ResourceLocation MISC_3_BUTTON = button("misc_3");
54+
public static final ResourceLocation MISC_4_BUTTON = button("misc_4");
55+
public static final ResourceLocation MISC_5_BUTTON = button("misc_5");
56+
public static final ResourceLocation MISC_6_BUTTON = button("misc_6");
57+
5258

5359
public static final ResourceLocation RIGHT_PADDLE_1_BUTTON = button("right_paddle_1");
5460
public static final ResourceLocation RIGHT_PADDLE_2_BUTTON = button("right_paddle_2");

src/main/java/dev/isxander/controlify/controller/input/Inputs.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,27 @@
44
import net.minecraft.network.chat.MutableComponent;
55
import net.minecraft.resources.ResourceLocation;
66

7+
import java.util.Collection;
8+
79
public final class Inputs {
810
private Inputs() {
911
}
1012

1113
public static MutableComponent getInputComponent(ResourceLocation input) {
1214
return Component.translatable("controlify.input." + input.getNamespace() + "." + input.getPath());
1315
}
16+
17+
public static MutableComponent getInputComponentAnd(Collection<ResourceLocation> inputs) {
18+
if (inputs.isEmpty())
19+
return Component.empty();
20+
21+
MutableComponent component = inputs.stream()
22+
.map(Inputs::getInputComponent)
23+
.reduce(Component.empty(), (a, b) -> a.append(b).append(" + "));
24+
25+
// remove the last ' + '
26+
component.getSiblings().remove(component.getSiblings().size() - 1);
27+
28+
return component;
29+
}
1430
}

src/main/java/dev/isxander/controlify/driver/sdl/SDL3GamepadDriver.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,12 @@ private void updateInput() {
230230

231231
// Additional inputs
232232
state.setButton(GamepadInputs.MISC_1_BUTTON, SDL_GetGamepadButton(ptrGamepad, SDL_GAMEPAD_BUTTON_MISC1) == SDL_PRESSED);
233+
state.setButton(GamepadInputs.MISC_2_BUTTON, SDL_GetGamepadButton(ptrGamepad, SDL_GAMEPAD_BUTTON_MISC2) == SDL_PRESSED);
234+
state.setButton(GamepadInputs.MISC_3_BUTTON, SDL_GetGamepadButton(ptrGamepad, SDL_GAMEPAD_BUTTON_MISC3) == SDL_PRESSED);
235+
state.setButton(GamepadInputs.MISC_4_BUTTON, SDL_GetGamepadButton(ptrGamepad, SDL_GAMEPAD_BUTTON_MISC4) == SDL_PRESSED);
236+
state.setButton(GamepadInputs.MISC_5_BUTTON, SDL_GetGamepadButton(ptrGamepad, SDL_GAMEPAD_BUTTON_MISC5) == SDL_PRESSED);
237+
state.setButton(GamepadInputs.MISC_6_BUTTON, SDL_GetGamepadButton(ptrGamepad, SDL_GAMEPAD_BUTTON_MISC6) == SDL_PRESSED);
238+
233239
state.setButton(GamepadInputs.LEFT_PADDLE_1_BUTTON, SDL_GetGamepadButton(ptrGamepad, SDL_GAMEPAD_BUTTON_LEFT_PADDLE1) == SDL_PRESSED);
234240
state.setButton(GamepadInputs.LEFT_PADDLE_2_BUTTON, SDL_GetGamepadButton(ptrGamepad, SDL_GAMEPAD_BUTTON_LEFT_PADDLE2) == SDL_PRESSED);
235241
state.setButton(GamepadInputs.RIGHT_PADDLE_1_BUTTON, SDL_GetGamepadButton(ptrGamepad, SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1) == SDL_PRESSED);

src/main/resources/assets/controlify/lang/en_us.json

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,10 @@
301301
"controlify.binding.controlify.vmouse_scroll_down": "VMouse Scroll Down",
302302
"controlify.binding.controlify.vmouse_escape": "VMouse Key Escape",
303303
"controlify.binding.controlify.vmouse_shift": "VMouse Key Shift",
304+
"controlify.binding.controlify.vmouse_page_next": "VMouse Page Next",
305+
"controlify.binding.controlify.vmouse_page_prev": "VMouse Page Prev",
306+
"controlify.binding.controlify.vmouse_page_down": "VMouse Page Down",
307+
"controlify.binding.controlify.vmouse_page_up": "VMouse Page Up",
304308
"controlify.binding.controlify.vmouse_toggle": "Toggle Virtual Mouse",
305309
"controlify.binding.controlify.gui_navi_down": "GUI Navi Down",
306310
"controlify.binding.controlify.gui_navi_up": "GUI Navi Up",
@@ -310,6 +314,90 @@
310314
"controlify.binding.controlify.cycle_opt_backward": "Cycle Option Backward",
311315
"controlify.binding.controlify.clear_binding": "Clear Binding",
312316

317+
"controlify.binding.voicechat.ptt_hold": "Push-To-Talk (Hold)",
318+
"controlify.binding.voicechat.ptt_toggle": "Push-To-Talk (Toggle)",
319+
"controlify.binding.voicechat.mute_microphone": "Mute Microphone",
320+
321+
"controlify.input.controlify.button/south": "South Face",
322+
"controlify.input.controlify.button/east": "East Face",
323+
"controlify.input.controlify.button/west": "West Face",
324+
"controlify.input.controlify.button/north": "North Face",
325+
"controlify.input.controlify.button/left_shoulder": "Left Shoulder",
326+
"controlify.input.controlify.button/right_shoulder": "Right Shoulder",
327+
"controlify.input.controlify.button/left_stick": "Left Stick",
328+
"controlify.input.controlify.button/right_stick": "Right Stick",
329+
"controlify.input.controlify.button/back": "Back",
330+
"controlify.input.controlify.button/start": "Start",
331+
"controlify.input.controlify.button/guide": "Guide",
332+
"controlify.input.controlify.button/dpad_up": "D-Pad Up",
333+
"controlify.input.controlify.button/dpad_down": "D-Pad Down",
334+
"controlify.input.controlify.button/dpad_left": "D-Pad Left",
335+
"controlify.input.controlify.button/dpad_right": "D-Pad Right",
336+
"controlify.input.controlify.button/left_trigger": "Left Trigger Press",
337+
"controlify.input.controlify.button/right_trigger": "Right Trigger Press",
338+
"controlify.input.controlify.axis/left_trigger": "Left Trigger",
339+
"controlify.input.controlify.axis/right_trigger": "Right Trigger",
340+
"controlify.input.controlify.axis/left_stick_up": "Left Stick Up",
341+
"controlify.input.controlify.axis/left_stick_down": "Left Stick Down",
342+
"controlify.input.controlify.axis/left_stick_left": "Left Stick Left",
343+
"controlify.input.controlify.axis/left_stick_right": "Left Stick Right",
344+
"controlify.input.controlify.axis/right_stick_up": "Right Stick Up",
345+
"controlify.input.controlify.axis/right_stick_down": "Right Stick Down",
346+
"controlify.input.controlify.axis/right_stick_left": "Right Stick Left",
347+
"controlify.input.controlify.axis/right_stick_right": "Right Stick Right",
348+
"controlify.input.controlify.button/misc_1": "Misc 1 Button",
349+
"controlify.input.controlify.button/misc_2": "Misc 2 Button",
350+
"controlify.input.controlify.button/misc_3": "Misc 3 Button",
351+
"controlify.input.controlify.button/misc_4": "Misc 4 Button",
352+
"controlify.input.controlify.button/misc_5": "Misc 5 Button",
353+
"controlify.input.controlify.button/misc_6": "Misc 6 Button",
354+
"controlify.input.controlify.button/right_paddle_1": "Right Paddle 1",
355+
"controlify.input.controlify.button/right_paddle_2": "Right Paddle 2",
356+
"controlify.input.controlify.button/left_paddle_1": "Left Paddle 1",
357+
"controlify.input.controlify.button/left_paddle_2": "Left Paddle 2",
358+
"controlify.input.controlify.button/touchpad": "Touchpad Press",
359+
360+
"controlify.input.controlify.button/0": "Button #1",
361+
"controlify.input.controlify.button/1": "Button #2",
362+
"controlify.input.controlify.button/2": "Button #3",
363+
"controlify.input.controlify.button/3": "Button #4",
364+
"controlify.input.controlify.button/4": "Button #5",
365+
"controlify.input.controlify.button/5": "Button #6",
366+
"controlify.input.controlify.button/6": "Button #7",
367+
"controlify.input.controlify.button/7": "Button #8",
368+
"controlify.input.controlify.button/8": "Button #9",
369+
"controlify.input.controlify.button/9": "Button #10",
370+
"controlify.input.controlify.button/10": "Button #11",
371+
"controlify.input.controlify.button/11": "Button #12",
372+
"controlify.input.controlify.button/12": "Button #13",
373+
"controlify.input.controlify.button/13": "Button #14",
374+
"controlify.input.controlify.button/14": "Button #15",
375+
"controlify.input.controlify.button/15": "Button #16",
376+
"controlify.input.controlify.button/16": "Button #17",
377+
"controlify.input.controlify.button/17": "Button #18",
378+
"controlify.input.controlify.button/18": "Button #19",
379+
"controlify.input.controlify.button/19": "Button #20",
380+
"controlify.input.controlify.axis/0": "Axis #1",
381+
"controlify.input.controlify.axis/1": "Axis #2",
382+
"controlify.input.controlify.axis/2": "Axis #3",
383+
"controlify.input.controlify.axis/3": "Axis #4",
384+
"controlify.input.controlify.axis/4": "Axis #5",
385+
"controlify.input.controlify.axis/5": "Axis #6",
386+
"controlify.input.controlify.axis/7": "Axis #8",
387+
"controlify.input.controlify.axis/8": "Axis #9",
388+
"controlify.input.controlify.axis/6": "Axis #7",
389+
"controlify.input.controlify.axis/9": "Axis #10",
390+
"controlify.input.controlify.axis/10": "Axis #11",
391+
"controlify.input.controlify.axis/11": "Axis #12",
392+
"controlify.input.controlify.axis/12": "Axis #13",
393+
"controlify.input.controlify.axis/13": "Axis #14",
394+
"controlify.input.controlify.axis/14": "Axis #15",
395+
"controlify.input.controlify.axis/15": "Axis #16",
396+
"controlify.input.controlify.axis/16": "Axis #17",
397+
"controlify.input.controlify.axis/17": "Axis #18",
398+
"controlify.input.controlify.axis/18": "Axis #19",
399+
"controlify.input.controlify.axis/19": "Axis #20",
400+
313401
"controlify.binding_category.gui": "GUI",
314402
"controlify.binding_category.vmouse": "Virtual Mouse",
315403

0 commit comments

Comments
 (0)