mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Ally Mappings
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
using GHelper.Gpu.AMD;
|
||||
using GHelper.Input;
|
||||
using GHelper.USB;
|
||||
using System.Text;
|
||||
|
||||
namespace GHelper.Ally
|
||||
{
|
||||
@@ -35,7 +34,7 @@ namespace GHelper.Ally
|
||||
SettingsForm settings;
|
||||
|
||||
static ControllerMode mode = ControllerMode.Auto;
|
||||
static ControllerMode _autoMode = ControllerMode.Auto;
|
||||
static ControllerMode _applyMode = ControllerMode.Auto;
|
||||
static int _autoCount = 0;
|
||||
|
||||
static int fpsLimit = -1;
|
||||
@@ -232,16 +231,16 @@ namespace GHelper.Ally
|
||||
{
|
||||
float fps = amdControl.GetFPS();
|
||||
|
||||
ControllerMode _newMode = (fps > 0) ? ControllerMode.Gamepad : ControllerMode.Mouse;
|
||||
ControllerMode newMode = (fps > 0) ? ControllerMode.Gamepad : ControllerMode.Mouse;
|
||||
|
||||
if (_autoMode != _newMode) _autoCount++;
|
||||
if (_applyMode != newMode) _autoCount++;
|
||||
else _autoCount = 0;
|
||||
|
||||
if (_autoCount > 2)
|
||||
{
|
||||
_autoMode = _newMode;
|
||||
_applyMode = newMode;
|
||||
_autoCount = 0;
|
||||
ApplyMode(_autoMode, "ControllerAuto");
|
||||
ApplyMode(_applyMode);
|
||||
Logger.WriteLine(fps.ToString());
|
||||
}
|
||||
|
||||
@@ -388,22 +387,6 @@ namespace GHelper.Ally
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
static public void SetMapping()
|
||||
{
|
||||
MappingZone(BindingZone.DPadUpDown);
|
||||
MappingZone(BindingZone.DPadLeftRight);
|
||||
MappingZone(BindingZone.StickClick);
|
||||
MappingZone(BindingZone.Bumper);
|
||||
MappingZone(BindingZone.AB);
|
||||
MappingZone(BindingZone.XY);
|
||||
MappingZone(BindingZone.ViewMenu);
|
||||
MappingZone(BindingZone.M1M2);
|
||||
MappingZone(BindingZone.Trigger);
|
||||
|
||||
AsusHid.WriteInput(MappingSave);
|
||||
|
||||
}
|
||||
|
||||
static public void SetDeadzones()
|
||||
@@ -429,20 +412,36 @@ namespace GHelper.Ally
|
||||
|
||||
}
|
||||
|
||||
private void ApplyMode(ControllerMode applyMode, string log = "ControllerMode")
|
||||
public static void ApplyMode(ControllerMode? applyMode = null)
|
||||
{
|
||||
//AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xd1, 0x0b, 0x01, (byte)applyMode }, log);
|
||||
AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xd1, 0x01, 0x01, (byte)applyMode }, log);
|
||||
|
||||
if (applyMode is not null) _applyMode = (ControllerMode)applyMode;
|
||||
|
||||
AsusHid.WriteInput(new byte[] { AsusHid.INPUT_ID, 0xd1, 0x01, 0x01, (byte)_applyMode }, "Controller");
|
||||
AsusHid.WriteInput(MappingSave);
|
||||
|
||||
SetMapping();
|
||||
if (_applyMode == ControllerMode.Gamepad)
|
||||
{
|
||||
MappingZone(BindingZone.DPadUpDown);
|
||||
MappingZone(BindingZone.DPadLeftRight);
|
||||
MappingZone(BindingZone.StickClick);
|
||||
MappingZone(BindingZone.Bumper);
|
||||
MappingZone(BindingZone.AB);
|
||||
MappingZone(BindingZone.XY);
|
||||
MappingZone(BindingZone.ViewMenu);
|
||||
}
|
||||
|
||||
MappingZone(BindingZone.M1M2);
|
||||
MappingZone(BindingZone.Trigger);
|
||||
|
||||
AsusHid.WriteInput(MappingSave);
|
||||
}
|
||||
|
||||
private void SetMode(ControllerMode mode)
|
||||
{
|
||||
if (mode == ControllerMode.Auto)
|
||||
{
|
||||
_autoMode = ControllerMode.Auto;
|
||||
_applyMode = ControllerMode.Auto;
|
||||
amdControl.StartFPS();
|
||||
timer.Start();
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ namespace GHelper
|
||||
if (value >= 0) AppConfig.Set(combo.Name, value);
|
||||
else AppConfig.Remove(combo.Name);
|
||||
|
||||
AllyControl.SetMapping();
|
||||
AllyControl.ApplyMode();
|
||||
}
|
||||
|
||||
private void Controller_Complete(object? sender, EventArgs e)
|
||||
|
||||
@@ -57,7 +57,7 @@ public static class AsusHid
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void WriteInput(byte[] data, string log = "USB")
|
||||
public static void WriteInput(byte[] data, string? log = "USB")
|
||||
{
|
||||
foreach (var device in FindDevices(INPUT_ID))
|
||||
{
|
||||
@@ -68,7 +68,7 @@ public static class AsusHid
|
||||
var payload = new byte[device.GetMaxFeatureReportLength()];
|
||||
Array.Copy(data, payload, data.Length);
|
||||
stream.SetFeature(payload);
|
||||
Logger.WriteLine($"{log} {device.ProductID.ToString("X")}|{device.GetMaxFeatureReportLength()}: {BitConverter.ToString(data)}");
|
||||
if (log is not null) Logger.WriteLine($"{log} {device.ProductID.ToString("X")}|{device.GetMaxFeatureReportLength()}: {BitConverter.ToString(data)}");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
Reference in New Issue
Block a user