Disable GC Adapter support by default (due to it interfering with other controllers)

Resolves , resolves 
This commit is contained in:
CasualPokePlayer 2025-01-07 04:01:10 -08:00
parent 24a4b47adf
commit ce44d7e4f8
4 changed files with 31 additions and 5 deletions
src
BizHawk.Client.Common/config
BizHawk.Client.EmuHawk

View File

@ -447,5 +447,7 @@ namespace BizHawk.Client.Common
public int AVWriterResizeHeight { get; set; } = 0;
public int AVWriterResizeWidth { get; set; } = 0;
public bool GCAdapterSupportEnabled { get; set; } = false;
}
}

View File

@ -549,6 +549,12 @@ namespace BizHawk.Client.EmuHawk
}
};
if (!Config.GCAdapterSupportEnabled)
{
// annoyingly this isn't an SDL hint in SDL2, only in SDL3, have to use an environment variables to signal this
Environment.SetEnvironmentVariable("SDL_HIDAPI_DISABLE_LIBUSB", "1");
}
Input.Instance = new Input(
Handle,
() => Config,

View File

@ -34,6 +34,7 @@
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.cbMergeLAndRModifierKeys = new System.Windows.Forms.CheckBox();
this.cbEnableGCAdapterSupport = new System.Windows.Forms.CheckBox();
this.HandleAlternateKeyboardLayoutsCheckBox = new System.Windows.Forms.CheckBox();
this.NeverAskSaveCheckbox = new System.Windows.Forms.CheckBox();
this.label2 = new BizHawk.WinForms.Controls.LocLabelEx();
@ -82,7 +83,7 @@
// OkBtn
//
this.OkBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.OkBtn.Location = new System.Drawing.Point(280, 371);
this.OkBtn.Location = new System.Drawing.Point(280, 394);
this.OkBtn.Name = "OkBtn";
this.OkBtn.Size = new System.Drawing.Size(60, 23);
this.OkBtn.TabIndex = 0;
@ -94,7 +95,7 @@
//
this.CancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.CancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.CancelBtn.Location = new System.Drawing.Point(346, 371);
this.CancelBtn.Location = new System.Drawing.Point(346, 394);
this.CancelBtn.Name = "CancelBtn";
this.CancelBtn.Size = new System.Drawing.Size(60, 23);
this.CancelBtn.TabIndex = 1;
@ -112,11 +113,12 @@
this.tabControl1.Location = new System.Drawing.Point(9, 12);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(400, 354);
this.tabControl1.Size = new System.Drawing.Size(400, 377);
this.tabControl1.TabIndex = 2;
//
// tabPage1
//
this.tabPage1.Controls.Add(this.cbEnableGCAdapterSupport);
this.tabPage1.Controls.Add(this.cbMergeLAndRModifierKeys);
this.tabPage1.Controls.Add(this.HandleAlternateKeyboardLayoutsCheckBox);
this.tabPage1.Controls.Add(this.NeverAskSaveCheckbox);
@ -136,6 +138,16 @@
this.tabPage1.Text = "General";
this.tabPage1.UseVisualStyleBackColor = true;
//
// cbEnableGCAdapterSupport
//
this.cbEnableGCAdapterSupport.AutoSize = true;
this.cbEnableGCAdapterSupport.Location = new System.Drawing.Point(7, 191);
this.cbEnableGCAdapterSupport.Name = "cbEnableGCAdapterSupport";
this.cbEnableGCAdapterSupport.Size = new System.Drawing.Size(320, 17);
this.cbEnableGCAdapterSupport.TabIndex = 29;
this.cbEnableGCAdapterSupport.Text = "Enable Wii U/Switch GameCube Adapter Support";
this.cbEnableGCAdapterSupport.UseVisualStyleBackColor = true;
//
// cbMergeLAndRModifierKeys
//
this.cbMergeLAndRModifierKeys.AutoSize = true;
@ -239,7 +251,7 @@
this.groupBox1.Controls.Add(this.StartFullScreenCheckbox);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.SingleInstanceModeCheckbox);
this.groupBox1.Location = new System.Drawing.Point(6, 191);
this.groupBox1.Location = new System.Drawing.Point(6, 214);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(369, 133);
this.groupBox1.TabIndex = 15;
@ -497,7 +509,7 @@
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.CancelBtn;
this.ClientSize = new System.Drawing.Size(418, 401);
this.ClientSize = new System.Drawing.Size(418, 424);
this.Controls.Add(this.tabControl1);
this.Controls.Add(this.CancelBtn);
this.Controls.Add(this.OkBtn);
@ -564,5 +576,6 @@
private System.Windows.Forms.CheckBox NoMixedKeyPriorityCheckBox;
private WinForms.Controls.LocLabelEx locLabelEx1;
private System.Windows.Forms.CheckBox cbMergeLAndRModifierKeys;
private System.Windows.Forms.CheckBox cbEnableGCAdapterSupport;
}
}

View File

@ -15,6 +15,9 @@ namespace BizHawk.Client.EmuHawk
_autoFlushSaveRamTimerBumpCallback = autoFlushSaveRamTimerBumpCallback;
_config = config;
InitializeComponent();
cbEnableGCAdapterSupport.Text = OSTailoredCode.IsUnixHost
? "Enable Wii U/Switch GameCube Adapter Support (via libusb)"
: "Enable Wii U/Switch GameCube Adapter Support (via Zadig/WinUSB)";
}
public int AutosaveSaveRAMSeconds
@ -79,6 +82,7 @@ namespace BizHawk.Client.EmuHawk
cbMoviesOnDisk.Checked = _config.Movies.MoviesOnDisk;
cbSkipWaterboxIntegrityChecks.Checked = _config.SkipWaterboxIntegrityChecks;
NoMixedKeyPriorityCheckBox.Checked = _config.NoMixedInputHokeyOverride;
cbEnableGCAdapterSupport.Checked = _config.GCAdapterSupportEnabled;
}
private void OkBtn_Click(object sender, EventArgs e)
@ -118,6 +122,7 @@ namespace BizHawk.Client.EmuHawk
_config.Movies.MoviesOnDisk = cbMoviesOnDisk.Checked;
_config.SkipWaterboxIntegrityChecks = cbSkipWaterboxIntegrityChecks.Checked;
_config.NoMixedInputHokeyOverride = NoMixedKeyPriorityCheckBox.Checked;
_config.GCAdapterSupportEnabled = cbEnableGCAdapterSupport.Checked;
Close();
DialogResult = DialogResult.OK;