diff --git a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
index 0346b0e89b..4697f850fe 100644
--- a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
+++ b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
@@ -914,6 +914,7 @@
+
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/DualGBSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/DualGBSchema.cs
new file mode 100644
index 0000000000..35eb14e25c
--- /dev/null
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/DualGBSchema.cs
@@ -0,0 +1,89 @@
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+
+namespace BizHawk.Client.EmuHawk.tools.VirtualPads.schema
+{
+ [SchemaAttributes("DGB")]
+ public class DualGBSchema : IVirtualPadSchema
+ {
+ public IEnumerable GetPadSchemas()
+ {
+ yield return StandardController(1);
+ yield return StandardController(2);
+ }
+
+ private static PadSchema StandardController(int controller)
+ {
+ return new PadSchema
+ {
+ IsConsole = false,
+ DefaultSize = new Size(174, 79),
+ Buttons = new[]
+ {
+ new PadSchema.ButtonScema
+ {
+ Name = "P" + controller + " Up",
+ DisplayName = "",
+ Icon = Properties.Resources.BlueUp,
+ Location = new Point(14, 12),
+ Type = PadSchema.PadInputType.Boolean
+ },
+ new PadSchema.ButtonScema
+ {
+ Name = "P" + controller + " Down",
+ DisplayName = "",
+ Icon = Properties.Resources.BlueDown,
+ Location = new Point(14, 56),
+ Type = PadSchema.PadInputType.Boolean
+ },
+ new PadSchema.ButtonScema
+ {
+ Name = "P" + controller + " Left",
+ DisplayName = "",
+ Icon = Properties.Resources.Back,
+ Location = new Point(2, 34),
+ Type = PadSchema.PadInputType.Boolean
+ },
+ new PadSchema.ButtonScema
+ {
+ Name = "P" + controller + " Right",
+ DisplayName = "",
+ Icon = Properties.Resources.Forward,
+ Location = new Point(24, 34),
+ Type = PadSchema.PadInputType.Boolean
+ },
+ new PadSchema.ButtonScema
+ {
+ Name = "P" + controller + " B",
+ DisplayName = "B",
+ Location = new Point(122, 34),
+ Type = PadSchema.PadInputType.Boolean
+ },
+ new PadSchema.ButtonScema
+ {
+ Name = "P" + controller + " A",
+ DisplayName = "A",
+ Location = new Point(146, 34),
+ Type = PadSchema.PadInputType.Boolean
+ },
+ new PadSchema.ButtonScema
+ {
+ Name = "P" + controller + " Select",
+ DisplayName = "s",
+ Location = new Point(52, 34),
+ Type = PadSchema.PadInputType.Boolean
+ },
+ new PadSchema.ButtonScema
+ {
+ Name = "P" + controller + " Start",
+ DisplayName = "S",
+ Location = new Point(74, 34),
+ Type = PadSchema.PadInputType.Boolean
+ }
+ }
+ };
+ }
+ }
+
+}
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/GBSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/GBSchema.cs
index 37d28c38ba..6811508cec 100644
--- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/GBSchema.cs
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/GBSchema.cs
@@ -1,18 +1,20 @@
using System.Collections.Generic;
+using System.ComponentModel;
using System.Drawing;
namespace BizHawk.Client.EmuHawk
{
+
[SchemaAttributes("GB")]
public class GBSchema : IVirtualPadSchema
{
public IEnumerable GetPadSchemas()
{
- yield return StandardController(1);
+ yield return StandardController();
yield return ConsoleButtons();
}
- public static PadSchema StandardController(int controller)
+ public static PadSchema StandardController()
{
return new PadSchema
{
@@ -22,7 +24,7 @@ namespace BizHawk.Client.EmuHawk
{
new PadSchema.ButtonScema
{
- Name = "P" + controller + " Up",
+ Name = "Up",
DisplayName = "",
Icon = Properties.Resources.BlueUp,
Location = new Point(14, 12),
@@ -30,7 +32,7 @@ namespace BizHawk.Client.EmuHawk
},
new PadSchema.ButtonScema
{
- Name = "P" + controller + " Down",
+ Name = "Down",
DisplayName = "",
Icon = Properties.Resources.BlueDown,
Location = new Point(14, 56),
@@ -38,7 +40,7 @@ namespace BizHawk.Client.EmuHawk
},
new PadSchema.ButtonScema
{
- Name = "P" + controller + " Left",
+ Name = "Left",
DisplayName = "",
Icon = Properties.Resources.Back,
Location = new Point(2, 34),
@@ -46,7 +48,7 @@ namespace BizHawk.Client.EmuHawk
},
new PadSchema.ButtonScema
{
- Name = "P" + controller + " Right",
+ Name = "Right",
DisplayName = "",
Icon = Properties.Resources.Forward,
Location = new Point(24, 34),
@@ -54,28 +56,28 @@ namespace BizHawk.Client.EmuHawk
},
new PadSchema.ButtonScema
{
- Name = "P" + controller + " B",
+ Name = "B",
DisplayName = "B",
Location = new Point(122, 34),
Type = PadSchema.PadInputType.Boolean
},
new PadSchema.ButtonScema
{
- Name = "P" + controller + " A",
+ Name = "A",
DisplayName = "A",
Location = new Point(146, 34),
Type = PadSchema.PadInputType.Boolean
},
new PadSchema.ButtonScema
{
- Name = "P" + controller + " Select",
+ Name = "Select",
DisplayName = "s",
Location = new Point(52, 34),
Type = PadSchema.PadInputType.Boolean
},
new PadSchema.ButtonScema
{
- Name = "P" + controller + " Start",
+ Name = "Start",
DisplayName = "S",
Location = new Point(74, 34),
Type = PadSchema.PadInputType.Boolean