Skip to content

Commit fb33f42

Browse files
committed
Binding UI
1 parent 163b35d commit fb33f42

8 files changed

+917
-478
lines changed

app/AppConfig.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ public static void SetMode(string name, string value)
321321

322322
public static bool IsAlly()
323323
{
324-
return ContainsModel("RC71");
324+
return true || ContainsModel("RC71");
325325
}
326326

327327
public static bool NoMKeys()

app/Extra.cs

-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ public partial class Extra : RForm
1313
{
1414

1515
ScreenControl screenControl = new ScreenControl();
16-
ModeControl modeControl = new ModeControl();
1716
ClamshellModeControl clamshellControl = new ClamshellModeControl();
1817

1918
const string EMPTY = "--------------";

app/Handheld.Designer.cs

+817-435
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/Handheld.cs

+82-39
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ namespace GHelper
66
public partial class Handheld : RForm
77
{
88

9+
static string activeBinding = "";
10+
static RButton? activeButton;
11+
912
public Handheld()
1013
{
1114
InitializeComponent();
@@ -41,80 +44,120 @@ public Handheld()
4144

4245
trackVibra.ValueChanged += Controller_Complete;
4346

44-
FillBinding("m1", "M1");
45-
FillBinding("m2", "M2");
47+
ButtonBinding("m1", "M1", buttonM1);
48+
ButtonBinding("m2", "M2", buttonM2);
4649

47-
FillBinding("a", "A");
48-
FillBinding("b", "B");
49-
FillBinding("x", "X");
50-
FillBinding("y", "Y");
50+
ButtonBinding("a", "A", buttonA);
51+
ButtonBinding("b", "B", buttonB);
52+
ButtonBinding("x", "X", buttonX);
53+
ButtonBinding("y", "Y", buttonY);
5154

52-
FillBinding("du", "DPadUp");
53-
FillBinding("dd", "DPadDown");
55+
ButtonBinding("du", "DPad Up", buttonDPU);
56+
ButtonBinding("dd", "DPad Down", buttonDPD);
5457

55-
FillBinding("dl", "DPadLeft");
56-
FillBinding("dr", "DPadRight");
58+
ButtonBinding("dl", "DPad Left", buttonDPL);
59+
ButtonBinding("dr", "DPad Right", buttonDPR);
60+
61+
ButtonBinding("rt", "Right Trigger", buttonRT);
62+
ButtonBinding("lt", "Left Trigger", buttonLT);
63+
64+
ButtonBinding("rb", "Right Bumper", buttonRB);
65+
ButtonBinding("lb", "Left Bumper", buttonLB);
5766

58-
FillBinding("rb", "RBumper");
59-
FillBinding("lb", "LBumper");
67+
ButtonBinding("rs", "Right Stick", buttonRS);
68+
ButtonBinding("ll", "Left Stick", buttonLS);
6069

61-
FillBinding("rs", "RStick");
62-
FillBinding("ll", "LStick");
70+
ButtonBinding("vb", "View", buttonView);
71+
ButtonBinding("mb", "Menu", buttonMenu);
72+
73+
ComboBinding(comboPrimary);
74+
ComboBinding(comboSecondary);
6375

64-
FillBinding("vb", "View");
65-
FillBinding("mb", "Menu");
6676
}
6777

68-
private RComboBox ComboBinding(string name, string value)
78+
private void ComboBinding(RComboBox combo)
6979
{
70-
var combo = new RComboBox();
71-
combo.BorderColor = Color.White;
72-
combo.ButtonColor = Color.FromArgb(255, 255, 255);
73-
combo.Dock = DockStyle.Fill;
74-
combo.Name = name;
75-
combo.Margin = new Padding(5, 5, 5, 5);
7680

7781
combo.DropDownStyle = ComboBoxStyle.DropDownList;
7882
combo.DisplayMember = "Value";
7983
combo.ValueMember = "Key";
8084
foreach (var item in AllyControl.BindCodes)
81-
{
8285
combo.Items.Add(new KeyValuePair<string, string>(item.Key, item.Value));
83-
if (item.Key == value) combo.SelectedItem = item;
84-
}
86+
8587
combo.SelectedValueChanged += Binding_SelectedValueChanged;
8688

87-
return combo;
89+
}
90+
91+
private void Binding_SelectedValueChanged(object? sender, EventArgs e)
92+
{
93+
if (sender is null) return;
94+
RComboBox combo = (RComboBox)sender;
95+
96+
string value = ((KeyValuePair<string, string>)combo.SelectedItem).Key;
97+
string binding = "bind" + (combo.Name == "comboPrimary" ? "" : "2") + "_" + activeBinding;
98+
99+
if (value != "") AppConfig.Set(binding, value);
100+
else AppConfig.Remove(binding);
101+
102+
VisualiseButton(activeButton, activeBinding);
88103

104+
AllyControl.ApplyMode();
89105
}
90106

107+
private void SetComboValue(RComboBox combo, string value)
108+
{
109+
foreach (var item in AllyControl.BindCodes)
110+
if (item.Key == value)
111+
{
112+
combo.SelectedItem = item;
113+
return;
114+
}
115+
116+
combo.SelectedIndex = 0;
117+
}
91118

92-
private void FillBinding(string binding, string label)
119+
private void VisualiseButton(RButton button, string binding)
93120
{
94-
tableBindings.RowStyles.Add(new RowStyle(SizeType.AutoSize));
95-
tableBindings.Controls.Add(new Label { Text = label, Anchor = AnchorStyles.Left, Dock = DockStyle.Fill, Padding = new Padding(5, 5, 5, 5) }, 0, tableBindings.RowCount);
121+
if (button == null) return;
96122

97-
tableBindings.Controls.Add(ComboBinding("bind_" + binding, AppConfig.GetString("bind_" + binding, "")), 1, tableBindings.RowCount);
98-
tableBindings.Controls.Add(ComboBinding("bind2_" + binding, AppConfig.GetString("bind2_" + binding, "")), 2, tableBindings.RowCount);
123+
string primary = AppConfig.GetString("bind_" + binding, "");
124+
string secondary = AppConfig.GetString("bind2_" + binding, "");
99125

100-
tableBindings.RowCount++;
126+
if (primary != "" || secondary != "")
127+
{
128+
button.BorderColor = colorStandard;
129+
button.Activated = true;
130+
}
131+
else
132+
{
133+
button.Activated = false;
134+
}
135+
}
101136

137+
private void ButtonBinding(string binding, string label, RButton button)
138+
{
139+
button.Click += (sender, EventArgs) => { buttonBinding_Click(sender, EventArgs, binding, label); };
140+
VisualiseButton(button, binding);
102141
}
103142

104-
private void Binding_SelectedValueChanged(object? sender, EventArgs e)
143+
void buttonBinding_Click(object sender, EventArgs e, string binding, string label)
105144
{
106145

107146
if (sender is null) return;
108-
RComboBox combo = (RComboBox)sender;
147+
RButton button = (RButton)sender;
109148

110-
string value = ((KeyValuePair<string, string>)combo.SelectedItem).Key;
149+
labelBinding.Text = "Binding: " + label;
150+
activeBinding = binding;
111151

112-
if (value != "") AppConfig.Set(combo.Name, value);
113-
else AppConfig.Remove(combo.Name);
152+
SetComboValue(comboPrimary, AppConfig.GetString("bind_" + binding, ""));
153+
SetComboValue(comboSecondary, AppConfig.GetString("bind2_" + binding, ""));
114154

115-
AllyControl.ApplyMode();
155+
panelBinding.Visible = true;
156+
activeButton = button;
116157
}
117158

159+
160+
118161
private void Controller_Complete(object? sender, EventArgs e)
119162
{
120163
AllyControl.SetDeadzones();

app/Mode/ModeControl.cs

+2
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,8 @@ public void SetRyzen(bool launchAsAdmin = false)
415415
return;
416416
}
417417

418+
if (!RyzenControl.IsRingExsists()) return;
419+
418420
try
419421
{
420422
SetUV(AppConfig.GetMode("cpu_uv", 0));

app/Properties/Resources.Designer.cs

+10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/Properties/Resources.resx

+5-2
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,9 @@
130130
<data name="icons8_microphone_96" type="System.Resources.ResXFileRef, System.Windows.Forms">
131131
<value>..\Resources\icons8-microphone-96.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
132132
</data>
133+
<data name="icons8-controls-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
134+
<value>..\Resources\icons8-controls-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
135+
</data>
133136
<data name="icons8_maus_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
134137
<value>..\Resources\icons8-maus-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
135138
</data>
@@ -319,7 +322,7 @@
319322
<data name="icons8-charging-battery-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
320323
<value>..\Resources\icons8-charging-battery-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
321324
</data>
322-
<data name="icons8-controls-32" type="System.Resources.ResXFileRef, System.Windows.Forms">
323-
<value>..\Resources\icons8-controls-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
325+
<data name="ally" type="System.Resources.ResXFileRef, System.Windows.Forms">
326+
<value>..\Resources\ally.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
324327
</data>
325328
</root>

app/Resources/ally.png

25.6 KB
Loading

0 commit comments

Comments
 (0)