Ally controller tweaks

This commit is contained in:
Serge
2024-01-13 23:38:12 +01:00
parent 6bd69a6055
commit 83fed695e4
2 changed files with 23 additions and 6 deletions

View File

@@ -20,7 +20,7 @@ namespace GHelper.Ally
SettingsForm settings; SettingsForm settings;
static ControllerMode mode = ControllerMode.Auto; static ControllerMode mode = ControllerMode.Auto;
static ControllerMode _autoMode = ControllerMode.Gamepad; static ControllerMode _autoMode = ControllerMode.Auto;
static int _autoCount = 0; static int _autoCount = 0;
static int fpsLimit = -1; static int fpsLimit = -1;
@@ -60,14 +60,15 @@ namespace GHelper.Ally
if (AppConfig.IsAlly()) settings.VisualiseAlly(true); if (AppConfig.IsAlly()) settings.VisualiseAlly(true);
else return; else return;
Deadzones();
SetMode((ControllerMode)AppConfig.Get("controller_mode", (int)ControllerMode.Auto)); SetMode((ControllerMode)AppConfig.Get("controller_mode", (int)ControllerMode.Auto));
settings.VisualiseBacklight(InputDispatcher.GetBacklight()); settings.VisualiseBacklight(InputDispatcher.GetBacklight());
fpsLimit = amdControl.GetFPSLimit(); fpsLimit = amdControl.GetFPSLimit();
Logger.WriteLine($"FPS Limit: {fpsLimit}"); Logger.WriteLine($"FPS Limit: {fpsLimit}");
settings.VisualiseFPSLimit(fpsLimit); settings.VisualiseFPSLimit(fpsLimit);
} }
public void ToggleFPSLimit() public void ToggleFPSLimit()
@@ -102,10 +103,16 @@ namespace GHelper.Ally
settings.VisualiseBacklight(InputDispatcher.GetBacklight()); settings.VisualiseBacklight(InputDispatcher.GetBacklight());
} }
private void Deadzones()
{
AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xd1, 4, 4, 0, 100, 0, 100 }, "ControllerDeadzone");
}
private void SetMode(ControllerMode mode) private void SetMode(ControllerMode mode)
{ {
if (mode == ControllerMode.Auto) if (mode == ControllerMode.Auto)
{ {
_autoMode = ControllerMode.Auto;
amdControl.StartFPS(); amdControl.StartFPS();
timer.Start(); timer.Start();
} }

View File

@@ -7,17 +7,27 @@ namespace GHelper.Input
{ {
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(); CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
Action<int> _handler;
public KeyboardListener(Action<int> KeyHandler) public KeyboardListener(Action<int> KeyHandler)
{ {
_handler = KeyHandler;
Listen();
}
private void Listen () {
HidStream? input = AsusHid.FindHidStream(AsusHid.INPUT_ID); HidStream? input = AsusHid.FindHidStream(AsusHid.INPUT_ID);
// Fallback // Fallback
if (input == null)
int count = 0;
while (input == null && count++ < 60)
{ {
Aura.Init(); Aura.Init();
Thread.Sleep(1000); Thread.Sleep(1000);
input = input = AsusHid.FindHidStream(AsusHid.INPUT_ID); input = AsusHid.FindHidStream(AsusHid.INPUT_ID);
} }
if (input == null) if (input == null)
@@ -48,7 +58,7 @@ namespace GHelper.Input
if (data.Length > 1 && data[0] == AsusHid.INPUT_ID && data[1] > 0 && data[1] != 236) if (data.Length > 1 && data[0] == AsusHid.INPUT_ID && data[1] > 0 && data[1] != 236)
{ {
Logger.WriteLine($"Key: {data[1]}"); Logger.WriteLine($"Key: {data[1]}");
KeyHandler(data[1]); _handler(data[1]);
} }
} }