Skip to content

Commit f1ccca9

Browse files
committed
feat: also do not allow AxisToCursorAction actions getting added to triggers
1 parent afd92b4 commit f1ccca9

7 files changed

Lines changed: 16 additions & 10 deletions

File tree

src/main/java/de/bwravencl/controllerbuddy/gui/EditActionsDialog.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import de.bwravencl.controllerbuddy.input.Mode.Component;
2222
import de.bwravencl.controllerbuddy.input.Mode.Component.ComponentType;
2323
import de.bwravencl.controllerbuddy.input.Profile;
24-
import de.bwravencl.controllerbuddy.input.action.AxisToRelativeAxisAction;
2524
import de.bwravencl.controllerbuddy.input.action.ButtonToCycleAction;
2625
import de.bwravencl.controllerbuddy.input.action.ButtonToModeAction;
2726
import de.bwravencl.controllerbuddy.input.action.IAction;
@@ -93,11 +92,14 @@ public final class EditActionsDialog extends JDialog {
9392

9493
private static final List<Class<?>> ON_SCREEN_KEYBOARD_ACTION_CLASSES;
9594

95+
private static final List<Class<?>> TRIGGER_ACTION_CLASSES;
96+
9697
@Serial
9798
private static final long serialVersionUID = 5007388251349678609L;
9899

99100
static {
100101
final List<Class<?>> mutableAxisActionClasses = new ArrayList<>();
102+
final List<Class<?>> mutableTriggerActionClasses = new ArrayList<>();
101103
final List<Class<?>> mutableButtonActionClasses = new ArrayList<>();
102104
final List<Class<?>> mutableCycleActionClasses = new ArrayList<>();
103105
final List<Class<?>> mutableOnScreenKeyboardActionClasses = new ArrayList<>();
@@ -119,9 +121,13 @@ public final class EditActionsDialog extends JDialog {
119121
// noinspection DataFlowIssue
120122
final var category = actionAnnotation.category();
121123

122-
if (category == ActionCategory.ALL || category == ActionCategory.AXIS) {
124+
if (category == ActionCategory.ALL || category == ActionCategory.AXIS
125+
|| category == ActionCategory.AXIS_AND_TRIGGER) {
123126
mutableAxisActionClasses.add(actionClass);
124127
}
128+
if (category == ActionCategory.ALL || category == ActionCategory.AXIS_AND_TRIGGER) {
129+
mutableTriggerActionClasses.add(actionClass);
130+
}
125131
if (category == ActionCategory.ALL || category == ActionCategory.BUTTON
126132
|| category == ActionCategory.BUTTON_AND_CYCLES) {
127133
mutableButtonActionClasses.add(actionClass);
@@ -136,6 +142,7 @@ public final class EditActionsDialog extends JDialog {
136142
}
137143

138144
AXIS_ACTION_CLASSES = Collections.unmodifiableList(mutableAxisActionClasses);
145+
TRIGGER_ACTION_CLASSES = Collections.unmodifiableList(mutableTriggerActionClasses);
139146
BUTTON_ACTION_CLASSES = Collections.unmodifiableList(mutableButtonActionClasses);
140147
CYCLE_ACTION_CLASSES = Collections.unmodifiableList(mutableCycleActionClasses);
141148
ON_SCREEN_KEYBOARD_ACTION_CLASSES = Collections.unmodifiableList(mutableOnScreenKeyboardActionClasses);
@@ -367,9 +374,8 @@ private List<Class<?>> getAllowedActionClasses() {
367374
final var componentIndex = component.getIndex();
368375
if (componentIndex == SDLGamepad.SDL_GAMEPAD_AXIS_LEFT_TRIGGER
369376
|| componentIndex == SDLGamepad.SDL_GAMEPAD_AXIS_RIGHT_TRIGGER) {
370-
return AXIS_ACTION_CLASSES.stream().filter(clazz -> clazz != AxisToRelativeAxisAction.class).toList();
377+
return TRIGGER_ACTION_CLASSES;
371378
}
372-
373379
return AXIS_ACTION_CLASSES;
374380
} else if (Profile.DEFAULT_MODE.equals(selectedMode)) {
375381
return BUTTON_ACTION_CLASSES;

src/main/java/de/bwravencl/controllerbuddy/input/action/AxisToAxisAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import de.bwravencl.controllerbuddy.input.action.gui.MaxAxisValueEditorBuilder;
2727
import de.bwravencl.controllerbuddy.input.action.gui.MinAxisValueEditorBuilder;
2828

29-
@Action(label = "TO_AXIS_ACTION", category = ActionCategory.AXIS, order = 10)
29+
@Action(label = "TO_AXIS_ACTION", category = ActionCategory.AXIS_AND_TRIGGER, order = 10)
3030
public class AxisToAxisAction extends ToAxisAction<Float> implements IAxisToAction, IInitializationAction<Float> {
3131

3232
private static final float DEFAULT_DEAD_ZONE = 0f;

src/main/java/de/bwravencl/controllerbuddy/input/action/AxisToButtonAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import de.bwravencl.controllerbuddy.input.action.gui.AxisValueEditorBuilder;
2424
import de.bwravencl.controllerbuddy.input.action.gui.LongPressEditorBuilder;
2525

26-
@Action(label = "TO_BUTTON_ACTION", category = ActionCategory.AXIS, order = 20)
26+
@Action(label = "TO_BUTTON_ACTION", category = ActionCategory.AXIS_AND_TRIGGER, order = 20)
2727
public final class AxisToButtonAction extends ToButtonAction<Float> implements IAxisToLongPressAction {
2828

2929
private static final float DEFAULT_MAX_AXIS_VALUE = 1f;

src/main/java/de/bwravencl/controllerbuddy/input/action/AxisToKeyAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import de.bwravencl.controllerbuddy.input.action.annotation.ActionProperty;
2323
import de.bwravencl.controllerbuddy.input.action.gui.AxisValueEditorBuilder;
2424

25-
@Action(label = "TO_KEY_ACTION", category = ActionCategory.AXIS, order = 40)
25+
@Action(label = "TO_KEY_ACTION", category = ActionCategory.AXIS_AND_TRIGGER, order = 40)
2626
public final class AxisToKeyAction extends ToKeyAction<Float> implements IAxisToLongPressAction {
2727

2828
private static final float DEFAULT_MAX_AXIS_VALUE = 1f;

src/main/java/de/bwravencl/controllerbuddy/input/action/AxisToMouseButtonAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import de.bwravencl.controllerbuddy.input.action.annotation.ActionProperty;
2323
import de.bwravencl.controllerbuddy.input.action.gui.AxisValueEditorBuilder;
2424

25-
@Action(label = "TO_MOUSE_BUTTON_ACTION", category = ActionCategory.AXIS, order = 30)
25+
@Action(label = "TO_MOUSE_BUTTON_ACTION", category = ActionCategory.AXIS_AND_TRIGGER, order = 30)
2626
public final class AxisToMouseButtonAction extends ToMouseButtonAction<Float> implements IAxisToLongPressAction {
2727

2828
private static final float DEFAULT_MAX_AXIS_VALUE = 1f;

src/main/java/de/bwravencl/controllerbuddy/input/action/AxisToScrollAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import de.bwravencl.controllerbuddy.input.action.gui.DeadZoneEditorBuilder;
2424
import de.bwravencl.controllerbuddy.input.action.gui.ExponentEditorBuilder;
2525

26-
@Action(label = "TO_SCROLL_ACTION", category = ActionCategory.AXIS, order = 35)
26+
@Action(label = "TO_SCROLL_ACTION", category = ActionCategory.AXIS_AND_TRIGGER, order = 35)
2727
public final class AxisToScrollAction extends ToScrollAction<Float> implements IAxisToAction {
2828

2929
private static final float DEFAULT_DEAD_ZONE = 0.1f;

src/main/java/de/bwravencl/controllerbuddy/input/action/annotation/Action.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@
3232
int order();
3333

3434
enum ActionCategory {
35-
ALL, AXIS, BUTTON, BUTTON_AND_CYCLES, ON_SCREEN_KEYBOARD_MODE
35+
ALL, AXIS, AXIS_AND_TRIGGER, BUTTON, BUTTON_AND_CYCLES, ON_SCREEN_KEYBOARD_MODE
3636
}
3737
}

0 commit comments

Comments
 (0)