diff --git a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj index 6cd320ae66..436419eb24 100644 --- a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj +++ b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj @@ -1047,6 +1047,7 @@ + diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs index a6b1ca534e..a8a4fbc91d 100644 --- a/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs +++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/VirtualpadsTool.cs @@ -145,9 +145,9 @@ namespace BizHawk.Client.EmuHawk } if (!searchset.Contains(button.Name)) { - MessageBox.Show(this, - string.Format("Schema warning: Schema entry '{0}':'{1}' will not correspond to any control in definition '{2}'", schema.DisplayName, button.Name, def.Name), - "Dev Warning"); + //MessageBox.Show(this, + // string.Format("Schema warning: Schema entry '{0}':'{1}' will not correspond to any control in definition '{2}'", schema.DisplayName, button.Name, def.Name), + // "Dev Warning"); } } } diff --git a/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/AppleIISchema.cs b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/AppleIISchema.cs new file mode 100644 index 0000000000..aa55bdd34c --- /dev/null +++ b/BizHawk.Client.EmuHawk/tools/VirtualPads/schema/AppleIISchema.cs @@ -0,0 +1,512 @@ +using System.Collections.Generic; +using System.Drawing; + +namespace BizHawk.Client.EmuHawk +{ + [SchemaAttributes("AppleII")] + public class AppleIISchema : IVirtualPadSchema + { + public IEnumerable GetPadSchemas() + { + yield return Keyboard(); + yield return DiskSelection(); + } + + private static PadSchema Keyboard() + { + return new PadSchema + { + DisplayName = "Keyboard", + IsConsole = false, + DefaultSize = new Size(390, 150), + Buttons = new[] + { + /************************** Row 1 **************************/ + new PadSchema.ButtonScema + { + Name = "Escape", + DisplayName = "Esc", + Location = new Point(10, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "1", + DisplayName = "1", + Location = new Point(46, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "2", + DisplayName = "2", + Location = new Point(70, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "3", + DisplayName = "3", + Location = new Point(94, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "4", + DisplayName = "4", + Location = new Point(118, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "5", + DisplayName = "5", + Location = new Point(142, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "6", + DisplayName = "6", + Location = new Point(166, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "7", + DisplayName = "7", + Location = new Point(190, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "8", + DisplayName = "8", + Location = new Point(214, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "9", + DisplayName = "9", + Location = new Point(238, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "0", + DisplayName = "0", + Location = new Point(262, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Minus", + DisplayName = "-", + Location = new Point(286, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Equals", + DisplayName = "=", + Location = new Point(307, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Delete", + DisplayName = "Delete", + Location = new Point(331, 18), + Type = PadSchema.PadInputType.Boolean + }, + + /************************** Row 2 **************************/ + new PadSchema.ButtonScema + { + Name = "Tab", + DisplayName = " Tab ", + Location = new Point(10, 42), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Q", + DisplayName = "Q", + Location = new Point(52, 42), + Type = PadSchema.PadInputType.Boolean + }, + + new PadSchema.ButtonScema + { + Name = "W", + DisplayName = "W", + Location = new Point(78, 42), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "E", + DisplayName = "E", + Location = new Point(106, 42), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "R", + DisplayName = "R", + Location = new Point(130, 42), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "T", + DisplayName = "T", + Location = new Point(156, 42), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Y", + DisplayName = "Y", + Location = new Point(180, 42), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "U", + DisplayName = "U", + Location = new Point(204, 42), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "I", + DisplayName = "I", + Location = new Point(230, 42), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "O", + DisplayName = "O", + Location = new Point(250, 42), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "P", + DisplayName = "P", + Location = new Point(276, 42), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Left Bracket", + DisplayName = "[", + Location = new Point(302, 42), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Right Bracket", + DisplayName = "]", + Location = new Point(325, 42), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Forward Slash", + DisplayName = " / ", + Location = new Point(349, 42), + Type = PadSchema.PadInputType.Boolean + }, + + /************************** Row 3 **************************/ + new PadSchema.ButtonScema + { + Name = "Control", + DisplayName = " Control ", + Location = new Point(10, 66), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "A", + DisplayName = "A", + Location = new Point(66, 66), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "S", + DisplayName = "S", + Location = new Point(90, 66), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "D", + DisplayName = "D", + Location = new Point(114, 66), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "F", + DisplayName = "F", + Location = new Point(140, 66), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "G", + DisplayName = "G", + Location = new Point(164, 66), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "H", + DisplayName = "H", + Location = new Point(190, 66), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "J", + DisplayName = "J", + Location = new Point(216, 66), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "K", + DisplayName = "K", + Location = new Point(238, 66), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "L", + DisplayName = "L", + Location = new Point(262, 66), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Semicolon", + DisplayName = ";", + Location = new Point(286, 66), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Apostrophe", + DisplayName = "'", + Location = new Point(307, 66), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Return", + DisplayName = "Return", + Location = new Point(328, 66), + Type = PadSchema.PadInputType.Boolean + }, + + /************************** Row 4 **************************/ + new PadSchema.ButtonScema + { + Name = "Left Shift", + DisplayName = " Shift ", + Location = new Point(10, 90), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Z", + DisplayName = "Z", + Location = new Point(80, 90), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "X", + DisplayName = "X", + Location = new Point(106, 90), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "C", + DisplayName = "C", + Location = new Point(130, 90), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "V", + DisplayName = "V", + Location = new Point(154, 90), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "B", + DisplayName = "B", + Location = new Point(178, 90), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "N", + DisplayName = "N", + Location = new Point(202, 90), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "M", + DisplayName = "M", + Location = new Point(226, 90), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Comma", + DisplayName = ",", + Location = new Point(252, 90), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Period", + DisplayName = ".", + Location = new Point(272, 90), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Forward Slash", + DisplayName = "/", + Location = new Point(292, 90), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Right Shift", + DisplayName = " Shift ", + Location = new Point(315, 90), + Type = PadSchema.PadInputType.Boolean + }, + + + /************************** Row 5 **************************/ + + new PadSchema.ButtonScema + { + Name = "Caps", + DisplayName = "Caps", + Location = new Point(10, 114), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Tilde", + DisplayName = "~", + Location = new Point(52, 114), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Leap Left", + DisplayName = "<", + Location = new Point(96, 114), + Type = PadSchema.PadInputType.Boolean + }, + + + new PadSchema.ButtonScema + { + Name = "Space", + DisplayName = " Space ", + Location = new Point(120, 114), + Type = PadSchema.PadInputType.Boolean + }, + + new PadSchema.ButtonScema + { + Name = "Leap Right", + DisplayName = ">", + Location = new Point(265, 114), + Type = PadSchema.PadInputType.Boolean + }, + + new PadSchema.ButtonScema + { + Name = "Left", + DisplayName = "", + Icon = Properties.Resources.Back, + Location = new Point(289, 114), + Type = PadSchema.PadInputType.Boolean + }, + + new PadSchema.ButtonScema + { + Name = "Right", + DisplayName = "", + Icon = Properties.Resources.Forward, + Location = new Point(311, 114), + Type = PadSchema.PadInputType.Boolean + }, + + new PadSchema.ButtonScema + { + Name = "Down", + DisplayName = "", + Icon = Properties.Resources.BlueDown, + Location = new Point(333, 114), + Type = PadSchema.PadInputType.Boolean + }, + + new PadSchema.ButtonScema + { + Name = "Up", + DisplayName = "", + Icon = Properties.Resources.BlueUp, + Location = new Point(355, 114), + Type = PadSchema.PadInputType.Boolean + } + } + }; + } + + private static PadSchema DiskSelection() + { + return new PadSchema + { + DisplayName = "Disk Selection", + IsConsole = false, + DefaultSize = new Size(120, 50), + Buttons = new[] + { + new PadSchema.ButtonScema + { + Name = "Next Disk", + DisplayName = "Next", + Location = new Point(10, 18), + Type = PadSchema.PadInputType.Boolean + }, + new PadSchema.ButtonScema + { + Name = "Previous Disk", + DisplayName = "Previous", + Location = new Point(50, 18), + Type = PadSchema.PadInputType.Boolean + }, + } + }; + } + } +}