diff --git a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
index 61c793714a..d0df18643c 100644
--- a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
+++ b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
@@ -909,6 +909,7 @@
+
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/GBASchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/GBASchema.cs
index 8437b56b61..ddba8a9475 100644
--- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/GBASchema.cs
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/GBASchema.cs
@@ -6,8 +6,8 @@ using BizHawk.Client.Common;
namespace BizHawk.Client.EmuHawk
{
- [Description("GBA")]
- class GBASchema : IVirtualPadSchema
+ [SchemaAttributes("GBA")]
+ public class GBASchema : IVirtualPadSchema
{
public IEnumerable GetPads()
{
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/GBSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/GBSchema.cs
index a4fda02361..0a618cc9d2 100644
--- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/GBSchema.cs
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/GBSchema.cs
@@ -6,8 +6,8 @@ using BizHawk.Client.Common;
namespace BizHawk.Client.EmuHawk
{
- [Description("GB")]
- class GBSchema : IVirtualPadSchema
+ [SchemaAttributes("GB")]
+ public class GBSchema : IVirtualPadSchema
{
public IEnumerable GetPads()
{
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/Gen3ButtonSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/Gen3ButtonSchema.cs
index 115a03d47c..4865328650 100644
--- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/Gen3ButtonSchema.cs
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/Gen3ButtonSchema.cs
@@ -6,7 +6,7 @@ using BizHawk.Client.Common;
namespace BizHawk.Client.EmuHawk
{
- [Description("GEN")]
+ [SchemaAttributes("GEN")]
public class Gen3ButtonSchema : IVirtualPadSchema
{
public IEnumerable GetPads()
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/Gen6ButtonSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/Gen6ButtonSchema.cs
index a81e5822ff..67c71c6ff9 100644
--- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/Gen6ButtonSchema.cs
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/Gen6ButtonSchema.cs
@@ -6,7 +6,7 @@ using BizHawk.Client.Common;
namespace BizHawk.Client.EmuHawk
{
- [Description("GEN")]
+ [SchemaAttributes("GEN")]
public class Gen6ButtonSchema : IVirtualPadSchema
{
public IEnumerable GetPads()
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/N64Schema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/N64Schema.cs
index feba54fbc3..5ea4282a12 100644
--- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/N64Schema.cs
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/N64Schema.cs
@@ -6,7 +6,7 @@ using BizHawk.Client.Common;
namespace BizHawk.Client.EmuHawk
{
- [Description("N64")]
+ [SchemaAttributes("N64")]
public class N64Schema : IVirtualPadSchema
{
public IEnumerable GetPads()
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/NesSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/NesSchema.cs
index 1c789f9df1..5282cd7af2 100644
--- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/NesSchema.cs
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/NesSchema.cs
@@ -7,7 +7,7 @@ using BizHawk.Emulation.Cores.Nintendo.NES;
namespace BizHawk.Client.EmuHawk
{
- [Description("NES")]
+ [SchemaAttributes("NES")]
public class NesSchema : IVirtualPadSchema
{
public IEnumerable GetPads()
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/PceSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/PceSchema.cs
index aae63d92e1..154c12d1a2 100644
--- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/PceSchema.cs
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/PceSchema.cs
@@ -6,7 +6,7 @@ using BizHawk.Client.Common;
namespace BizHawk.Client.EmuHawk
{
- [Description("PCE")]
+ [SchemaAttributes("PCE")]
public class PceSchema : IVirtualPadSchema
{
public IEnumerable GetPads()
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SatSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SatSchema.cs
index bff68cc987..036e7fe85a 100644
--- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SatSchema.cs
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SatSchema.cs
@@ -6,7 +6,7 @@ using BizHawk.Client.Common;
namespace BizHawk.Client.EmuHawk
{
- [Description("SAT")]
+ [SchemaAttributes("SAT")]
public class SaturnSchema : IVirtualPadSchema
{
public IEnumerable GetPads()
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SchemaAttributes.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SchemaAttributes.cs
new file mode 100644
index 0000000000..2d4ec6b72a
--- /dev/null
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SchemaAttributes.cs
@@ -0,0 +1,18 @@
+using System;
+
+namespace BizHawk.Client.EmuHawk
+{
+ [AttributeUsage(AttributeTargets.Class)]
+ public class SchemaAttributes : Attribute
+ {
+ ///
+ /// The system id associated with this schema
+ ///
+ public string SystemId { get; private set; }
+
+ public SchemaAttributes(string systemId)
+ {
+ SystemId = systemId;
+ }
+ }
+}
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SmsSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SmsSchema.cs
index 991f87f1ef..cdf1969e86 100644
--- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SmsSchema.cs
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SmsSchema.cs
@@ -6,7 +6,7 @@ using BizHawk.Client.Common;
namespace BizHawk.Client.EmuHawk
{
- [Description("SMS")]
+ [SchemaAttributes("SMS")]
public class SmsSchema : IVirtualPadSchema
{
public IEnumerable GetPads()
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SnesSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SnesSchema.cs
index df86a67942..7d67aed568 100644
--- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SnesSchema.cs
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/SnesSchema.cs
@@ -6,7 +6,7 @@ using BizHawk.Client.Common;
namespace BizHawk.Client.EmuHawk
{
- [Description("SNES")]
+ [SchemaAttributes("SNES")]
public class SnesSchema : IVirtualPadSchema
{
public IEnumerable GetPads()
diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/WonderSwanSchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/WonderSwanSchema.cs
index 1cf462f121..12c483e23b 100644
--- a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/WonderSwanSchema.cs
+++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/WonderSwanSchema.cs
@@ -6,7 +6,7 @@ using BizHawk.Client.Common;
namespace BizHawk.Client.EmuHawk
{
- [Description("WSWAN")]
+ [SchemaAttributes("WSWAN")]
public class WonderSwanSchema : IVirtualPadSchema
{
public IEnumerable GetPads()