1
0
forked from Clones/Controlify

🎮📳 Controller Vibration! (#38)

This commit is contained in:
Xander
2023-04-04 17:17:01 +01:00
committed by GitHub
parent 2bf7cf4792
commit ebbc549e32
32 changed files with 686 additions and 42 deletions

View File

@ -8,11 +8,13 @@ import dev.isxander.controlify.bindings.ControllerBindings;
import dev.isxander.controlify.controller.ControllerType;
import dev.isxander.controlify.controller.joystick.mapping.JoystickMapping;
import dev.isxander.controlify.controller.joystick.mapping.RPJoystickMapping;
import dev.isxander.controlify.rumble.RumbleCapable;
import dev.isxander.controlify.rumble.RumbleManager;
import org.lwjgl.glfw.GLFW;
import java.util.List;
public class CompoundJoystickController implements JoystickController<JoystickConfig> {
public class CompoundJoystickController implements JoystickController<JoystickConfig>, RumbleCapable {
private final String uid;
private final List<Integer> joysticks;
private final int axisCount, buttonCount, hatCount;
@ -23,6 +25,8 @@ public class CompoundJoystickController implements JoystickController<JoystickCo
private JoystickConfig config;
private final JoystickConfig defaultConfig;
private final RumbleManager rumbleManager;
private JoystickState state = JoystickState.EMPTY, prevState = JoystickState.EMPTY;
public CompoundJoystickController(List<Integer> joystickIds, String uid, ControllerType compoundType) {
@ -39,6 +43,8 @@ public class CompoundJoystickController implements JoystickController<JoystickCo
this.config = new JoystickConfig(this);
this.defaultConfig = new JoystickConfig(this);
this.rumbleManager = new RumbleManager(this);
this.bindings = new ControllerBindings<>(this);
}
@ -133,6 +139,21 @@ public class CompoundJoystickController implements JoystickController<JoystickCo
return this.hatCount;
}
@Override
public boolean setRumble(float strongMagnitude, float weakMagnitude) {
return false;
}
@Override
public boolean canRumble() {
return false;
}
@Override
public RumbleManager rumbleManager() {
return this.rumbleManager;
}
@Override
public boolean canBeUsed() {
return JoystickController.super.canBeUsed()