1
0
forked from Clones/Controlify

1.1 changelog, bump version, update comparison

This commit is contained in:
isXander
2023-04-14 11:55:30 +01:00
parent 95e1ce2385
commit 20e662f927
16 changed files with 511 additions and 126 deletions

View File

@ -0,0 +1,33 @@
package dev.isxander.controlify.driver;
import dev.isxander.controlify.controller.sdl2.SDL2NativesManager;
import org.hid4java.HidDevice;
import java.util.*;
public record GamepadDrivers(BasicGamepadInputDriver basicGamepadInputDriver, GyroDriver gyroDriver, RumbleDriver rumbleDriver) {
public Set<Driver> getUniqueDrivers() {
Set<Driver> drivers = Collections.newSetFromMap(new IdentityHashMap<>());
drivers.addAll(List.of(basicGamepadInputDriver, gyroDriver, rumbleDriver));
return drivers;
}
public static GamepadDrivers forController(int jid, Optional<HidDevice> hid) {
BasicGamepadInputDriver basicGamepadInputDriver = new GLFWGamepadDriver(jid);
GyroDriver gyroDriver = GyroDriver.UNSUPPORTED;
RumbleDriver rumbleDriver = RumbleDriver.UNSUPPORTED;
if (SDL2NativesManager.isLoaded()) {
SDL2GamepadDriver sdl2Driver = new SDL2GamepadDriver(jid);
gyroDriver = sdl2Driver;
rumbleDriver = sdl2Driver;
}
// broken
if (hid.isPresent() && SteamDeckDriver.isSteamDeck(hid.get()) && false) {
gyroDriver = new SteamDeckDriver(hid.get());
}
return new GamepadDrivers(basicGamepadInputDriver, gyroDriver, rumbleDriver);
}
}