diff --git a/BizHawk.MultiClient/BizHawk.MultiClient.csproj b/BizHawk.MultiClient/BizHawk.MultiClient.csproj
index 32d0bd4572..199a49cb6b 100644
--- a/BizHawk.MultiClient/BizHawk.MultiClient.csproj
+++ b/BizHawk.MultiClient/BizHawk.MultiClient.csproj
@@ -169,6 +169,12 @@
ControllerConfig.cs
+
+ UserControl
+
+
+ ButtonListConfigPanel.cs
+
UserControl
@@ -458,6 +464,9 @@
ControllerConfig.cs
+
+ ButtonListConfigPanel.cs
+
ControllerConfigPanel.cs
diff --git a/BizHawk.MultiClient/config/ControllerConfig/ButtonListConfigPanel.Designer.cs b/BizHawk.MultiClient/config/ControllerConfig/ButtonListConfigPanel.Designer.cs
new file mode 100644
index 0000000000..6b7221f008
--- /dev/null
+++ b/BizHawk.MultiClient/config/ControllerConfig/ButtonListConfigPanel.Designer.cs
@@ -0,0 +1,45 @@
+namespace BizHawk.MultiClient
+{
+ partial class ButtonListConfigPanel
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.SuspendLayout();
+ //
+ // ButtonListConfigPanel
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Name = "ButtonListConfigPanel";
+ this.Load += new System.EventHandler(this.ButtonListConfigPanel_Load);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+ }
+}
diff --git a/BizHawk.MultiClient/config/ControllerConfig/ButtonListConfigPanel.cs b/BizHawk.MultiClient/config/ControllerConfig/ButtonListConfigPanel.cs
new file mode 100644
index 0000000000..1260e33ad0
--- /dev/null
+++ b/BizHawk.MultiClient/config/ControllerConfig/ButtonListConfigPanel.cs
@@ -0,0 +1,105 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using System.Reflection;
+
+namespace BizHawk.MultiClient
+{
+ public partial class ButtonListConfigPanel : UserControl
+ {
+ List