1
0
forked from Clones/Controlify

virtual mouse + singleplayer screen compat + 22w05a

This commit is contained in:
isXander
2023-02-02 21:36:44 +00:00
parent 57fcd0c0dc
commit 09628defc4
34 changed files with 697 additions and 111 deletions

View File

@ -11,6 +11,7 @@ import java.util.Objects;
public final class Controller {
public static final Map<Integer, Controller> CONTROLLERS = new HashMap<>();
public static final Controller DUMMY = new Controller(-1, "DUMMY", "DUMMY", false);
private final int id;
private final String guid;
@ -21,7 +22,7 @@ public final class Controller {
private ControllerState prevState = ControllerState.EMPTY;
private final ControllerBindings bindings = new ControllerBindings(this);
private final ControllerConfig config = new ControllerConfig();
private ControllerConfig config = new ControllerConfig();
public Controller(int id, String guid, String name, boolean gamepad) {
this.id = id;
@ -81,6 +82,8 @@ public final class Controller {
}
public String name() {
if (config().customName != null)
return config().customName;
return name;
}
@ -92,6 +95,10 @@ public final class Controller {
return config;
}
public void setConfig(ControllerConfig config) {
this.config = config;
}
@Override
public boolean equals(Object obj) {
if (obj == this) return true;

View File

@ -1,15 +1,13 @@
package dev.isxander.controlify.controller;
import dev.isxander.controlify.config.ControlifyConfig;
public class ControllerConfig {
public static final ControllerConfig DEFAULT = new ControllerConfig();
public float horizontalLookSensitivity = 1f;
public float verticalLookSensitivity = 0.9f;
public float leftStickDeadzone = 0.2f;
public float rightStickDeadzone = 0.2f;
public float leftStickDeadzone = 0.1f;
public float rightStickDeadzone = 0.1f;
// not sure if triggers need deadzones
public float leftTriggerDeadzone = 0.0f;
@ -18,21 +16,7 @@ public class ControllerConfig {
public float leftTriggerActivationThreshold = 0.5f;
public float rightTriggerActivationThreshold = 0.5f;
public int screenRepeatNavigationDelay = 4;
public String customName = null;
public void notifyChanged() {
ControlifyConfig.save();
}
public void overwrite(ControllerConfig from) {
this.horizontalLookSensitivity = from.horizontalLookSensitivity;
this.verticalLookSensitivity = from.verticalLookSensitivity;
this.leftStickDeadzone = from.leftStickDeadzone;
this.rightStickDeadzone = from.rightStickDeadzone;
this.leftTriggerDeadzone = from.leftTriggerDeadzone;
this.rightTriggerDeadzone = from.rightTriggerDeadzone;
this.leftTriggerActivationThreshold = from.leftTriggerActivationThreshold;
this.rightTriggerActivationThreshold = from.rightTriggerActivationThreshold;
this.customName = from.customName;
}
}