contrller config: reimplement save defaults button in a more useful way (only modifies defaults for the config currently being edited). as before, it's INTERIM only

This commit is contained in:
goyuken 2013-07-31 20:34:20 +00:00
parent bfcc1a6684
commit 8a2b008a11
3 changed files with 269 additions and 228 deletions

View File

@ -28,184 +28,197 @@
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NewControllerConfig));
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.tabPage3 = new System.Windows.Forms.TabPage();
this.label2 = new System.Windows.Forms.Label();
this.checkBoxAutoTab = new System.Windows.Forms.CheckBox();
this.checkBoxUDLR = new System.Windows.Forms.CheckBox();
this.buttonOK = new System.Windows.Forms.Button();
this.buttonCancel = new System.Windows.Forms.Button();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.buttonLoadDefaults = new System.Windows.Forms.Button();
this.tabControl1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Controls.Add(this.tabPage3);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(3, 3);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(562, 493);
this.tabControl1.TabIndex = 1;
//
// tabPage1
//
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(554, 467);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "Normal Controls";
this.tabPage1.UseVisualStyleBackColor = true;
//
// tabPage2
//
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(554, 467);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "Autofire Controls";
this.tabPage2.UseVisualStyleBackColor = true;
//
// tabPage3
//
this.tabPage3.Location = new System.Drawing.Point(4, 22);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Size = new System.Drawing.Size(554, 467);
this.tabPage3.TabIndex = 2;
this.tabPage3.Text = "Analog Controls";
this.tabPage3.UseVisualStyleBackColor = true;
//
// label2
//
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(12, 519);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(140, 13);
this.label2.TabIndex = 2;
this.label2.Text = "Escape clears a keybinding.";
//
// checkBoxAutoTab
//
this.checkBoxAutoTab.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.checkBoxAutoTab.AutoSize = true;
this.checkBoxAutoTab.Location = new System.Drawing.Point(187, 517);
this.checkBoxAutoTab.Name = "checkBoxAutoTab";
this.checkBoxAutoTab.Size = new System.Drawing.Size(70, 17);
this.checkBoxAutoTab.TabIndex = 3;
this.checkBoxAutoTab.Text = "Auto Tab";
this.checkBoxAutoTab.UseVisualStyleBackColor = true;
this.checkBoxAutoTab.CheckedChanged += new System.EventHandler(this.checkBoxAutoTab_CheckedChanged);
//
// checkBoxUDLR
//
this.checkBoxUDLR.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.checkBoxUDLR.AutoSize = true;
this.checkBoxUDLR.Location = new System.Drawing.Point(263, 517);
this.checkBoxUDLR.Name = "checkBoxUDLR";
this.checkBoxUDLR.Size = new System.Drawing.Size(84, 17);
this.checkBoxUDLR.TabIndex = 4;
this.checkBoxUDLR.Text = "Allow UDLR";
this.checkBoxUDLR.UseVisualStyleBackColor = true;
this.checkBoxUDLR.CheckedChanged += new System.EventHandler(this.checkBoxUDLR_CheckedChanged);
//
// buttonOK
//
this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonOK.Location = new System.Drawing.Point(764, 514);
this.buttonOK.Name = "buttonOK";
this.buttonOK.Size = new System.Drawing.Size(75, 23);
this.buttonOK.TabIndex = 5;
this.buttonOK.Text = "OK";
this.buttonOK.UseVisualStyleBackColor = true;
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
//
// buttonCancel
//
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.buttonCancel.Location = new System.Drawing.Point(845, 514);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(75, 23);
this.buttonCancel.TabIndex = 6;
this.buttonCancel.Text = "Cancel";
this.buttonCancel.UseVisualStyleBackColor = true;
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NewControllerConfig));
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.tabPage3 = new System.Windows.Forms.TabPage();
this.label2 = new System.Windows.Forms.Label();
this.checkBoxAutoTab = new System.Windows.Forms.CheckBox();
this.checkBoxUDLR = new System.Windows.Forms.CheckBox();
this.buttonOK = new System.Windows.Forms.Button();
this.buttonCancel = new System.Windows.Forms.Button();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.buttonLoadDefaults = new System.Windows.Forms.Button();
this.buttonSaveDefaults = new System.Windows.Forms.Button();
this.tabControl1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Controls.Add(this.tabPage3);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(3, 3);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(562, 493);
this.tabControl1.TabIndex = 1;
//
// tabPage1
//
this.tabPage1.Location = new System.Drawing.Point(4, 22);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(554, 467);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "Normal Controls";
this.tabPage1.UseVisualStyleBackColor = true;
//
// tabPage2
//
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(554, 467);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "Autofire Controls";
this.tabPage2.UseVisualStyleBackColor = true;
//
// tabPage3
//
this.tabPage3.Location = new System.Drawing.Point(4, 22);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Size = new System.Drawing.Size(554, 467);
this.tabPage3.TabIndex = 2;
this.tabPage3.Text = "Analog Controls";
this.tabPage3.UseVisualStyleBackColor = true;
//
// label2
//
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(12, 519);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(140, 13);
this.label2.TabIndex = 2;
this.label2.Text = "Escape clears a keybinding.";
//
// checkBoxAutoTab
//
this.checkBoxAutoTab.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.checkBoxAutoTab.AutoSize = true;
this.checkBoxAutoTab.Location = new System.Drawing.Point(187, 517);
this.checkBoxAutoTab.Name = "checkBoxAutoTab";
this.checkBoxAutoTab.Size = new System.Drawing.Size(70, 17);
this.checkBoxAutoTab.TabIndex = 3;
this.checkBoxAutoTab.Text = "Auto Tab";
this.checkBoxAutoTab.UseVisualStyleBackColor = true;
this.checkBoxAutoTab.CheckedChanged += new System.EventHandler(this.checkBoxAutoTab_CheckedChanged);
//
// checkBoxUDLR
//
this.checkBoxUDLR.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.checkBoxUDLR.AutoSize = true;
this.checkBoxUDLR.Location = new System.Drawing.Point(263, 517);
this.checkBoxUDLR.Name = "checkBoxUDLR";
this.checkBoxUDLR.Size = new System.Drawing.Size(84, 17);
this.checkBoxUDLR.TabIndex = 4;
this.checkBoxUDLR.Text = "Allow UDLR";
this.checkBoxUDLR.UseVisualStyleBackColor = true;
this.checkBoxUDLR.CheckedChanged += new System.EventHandler(this.checkBoxUDLR_CheckedChanged);
//
// buttonOK
//
this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonOK.Location = new System.Drawing.Point(764, 514);
this.buttonOK.Name = "buttonOK";
this.buttonOK.Size = new System.Drawing.Size(75, 23);
this.buttonOK.TabIndex = 5;
this.buttonOK.Text = "OK";
this.buttonOK.UseVisualStyleBackColor = true;
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
//
// buttonCancel
//
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.buttonCancel.Location = new System.Drawing.Point(845, 514);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(75, 23);
this.buttonCancel.TabIndex = 6;
this.buttonCancel.Text = "Cancel";
this.buttonCancel.UseVisualStyleBackColor = true;
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel1.ColumnCount = 2;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 340F));
this.tableLayoutPanel1.Controls.Add(this.tabControl1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.pictureBox1, 1, 0);
this.tableLayoutPanel1.Location = new System.Drawing.Point(12, 12);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(908, 499);
this.tableLayoutPanel1.TabIndex = 7;
//
// pictureBox1
//
this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.pictureBox1.Location = new System.Drawing.Point(571, 23);
this.pictureBox1.Margin = new System.Windows.Forms.Padding(3, 23, 3, 3);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(334, 473);
this.pictureBox1.TabIndex = 2;
this.pictureBox1.TabStop = false;
//
// buttonLoadDefaults
//
this.buttonLoadDefaults.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonLoadDefaults.Location = new System.Drawing.Point(683, 514);
this.buttonLoadDefaults.Name = "buttonLoadDefaults";
this.buttonLoadDefaults.Size = new System.Drawing.Size(75, 23);
this.buttonLoadDefaults.TabIndex = 8;
this.buttonLoadDefaults.Text = "Defaults";
this.buttonLoadDefaults.UseVisualStyleBackColor = true;
this.buttonLoadDefaults.Click += new System.EventHandler(this.buttonLoadDefaults_Click);
//
// NewControllerConfig
//
this.AcceptButton = this.buttonOK;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.buttonCancel;
this.ClientSize = new System.Drawing.Size(932, 544);
this.Controls.Add(this.buttonLoadDefaults);
this.Controls.Add(this.checkBoxUDLR);
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.buttonOK);
this.Controls.Add(this.checkBoxAutoTab);
this.Controls.Add(this.label2);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "NewControllerConfig";
this.Text = "Controller Config";
this.Load += new System.EventHandler(this.NewControllerConfig_Load);
this.tabControl1.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
this.tableLayoutPanel1.ColumnCount = 2;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 340F));
this.tableLayoutPanel1.Controls.Add(this.tabControl1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.pictureBox1, 1, 0);
this.tableLayoutPanel1.Location = new System.Drawing.Point(12, 12);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(908, 499);
this.tableLayoutPanel1.TabIndex = 7;
//
// pictureBox1
//
this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.pictureBox1.Location = new System.Drawing.Point(571, 23);
this.pictureBox1.Margin = new System.Windows.Forms.Padding(3, 23, 3, 3);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(334, 473);
this.pictureBox1.TabIndex = 2;
this.pictureBox1.TabStop = false;
//
// buttonLoadDefaults
//
this.buttonLoadDefaults.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonLoadDefaults.Location = new System.Drawing.Point(683, 514);
this.buttonLoadDefaults.Name = "buttonLoadDefaults";
this.buttonLoadDefaults.Size = new System.Drawing.Size(75, 23);
this.buttonLoadDefaults.TabIndex = 8;
this.buttonLoadDefaults.Text = "Defaults";
this.buttonLoadDefaults.UseVisualStyleBackColor = true;
this.buttonLoadDefaults.Click += new System.EventHandler(this.buttonLoadDefaults_Click);
//
// buttonSaveDefaults
//
this.buttonSaveDefaults.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonSaveDefaults.Location = new System.Drawing.Point(602, 514);
this.buttonSaveDefaults.Name = "buttonSaveDefaults";
this.buttonSaveDefaults.Size = new System.Drawing.Size(75, 23);
this.buttonSaveDefaults.TabIndex = 9;
this.buttonSaveDefaults.Text = "Save Defs";
this.buttonSaveDefaults.UseVisualStyleBackColor = true;
this.buttonSaveDefaults.Click += new System.EventHandler(this.buttonSaveDefaults_Click);
//
// NewControllerConfig
//
this.AcceptButton = this.buttonOK;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.buttonCancel;
this.ClientSize = new System.Drawing.Size(932, 544);
this.Controls.Add(this.buttonSaveDefaults);
this.Controls.Add(this.buttonLoadDefaults);
this.Controls.Add(this.checkBoxUDLR);
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.buttonOK);
this.Controls.Add(this.checkBoxAutoTab);
this.Controls.Add(this.label2);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "NewControllerConfig";
this.Text = "Controller Config";
this.Load += new System.EventHandler(this.NewControllerConfig_Load);
this.tabControl1.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
@ -223,5 +236,6 @@
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Button buttonLoadDefaults;
private System.Windows.Forms.TabPage tabPage3;
private System.Windows.Forms.Button buttonSaveDefaults;
}
}

View File

@ -145,6 +145,10 @@ namespace BizHawk.MultiClient.config
checkBoxAutoTab.Checked = Global.Config.InputConfigAutoTab;
SetControllerPicture(def.Name);
if (!MainForm.INTERIM)
buttonSaveDefaults.Hide();
ResumeLayout();
}
@ -219,6 +223,12 @@ namespace BizHawk.MultiClient.config
ActOnControlCollection<ControllerConfigPanel>(tabPage2, (c) => c.Save(Global.Config.AllTrollersAutoFire[the_definition.Name]));
ActOnControlCollection<AnalogBindPanel>(tabPage3, (c) => c.Save(Global.Config.AllTrollersAnalog[the_definition.Name]));
}
void SaveToDefaults(ControlDefaults cd)
{
ActOnControlCollection<ControllerConfigPanel>(tabPage1, (c) => c.Save(cd.AllTrollers[the_definition.Name]));
ActOnControlCollection<ControllerConfigPanel>(tabPage2, (c) => c.Save(cd.AllTrollersAutoFire[the_definition.Name]));
ActOnControlCollection<AnalogBindPanel>(tabPage3, (c) => c.Save(cd.AllTrollersAnalog[the_definition.Name]));
}
static void ActOnControlCollection<T>(Control c, Action<T> proc)
where T : Control
@ -359,5 +369,22 @@ namespace BizHawk.MultiClient.config
c.AllTrollersAnalog = cd.AllTrollersAnalog;
}
}
private void buttonSaveDefaults_Click(object sender, EventArgs e)
{
var result = MessageBox.Show(this, "OK to overwrite defaults for current control scheme?", "Save Defaults", MessageBoxButtons.YesNo);
if (result == DialogResult.Yes)
{
ControlDefaults cd = new ControlDefaults();
cd = ConfigService.Load(ControlDefaultPath, cd);
cd.AllTrollers[the_definition.Name] = new Dictionary<string, string>();
cd.AllTrollersAutoFire[the_definition.Name] = new Dictionary<string, string>();
cd.AllTrollersAnalog[the_definition.Name] = new Dictionary<string, Config.AnalogBind>();
SaveToDefaults(cd);
ConfigService.Save(ControlDefaultPath, cd);
}
}
}
}

View File

@ -1,24 +1,24 @@
{
"AllTrollers": {
"NES Controller": {
"P1 Up": "UpArrow,J1 POV1U, X1 DpadUp, X1 LStickUp",
"P1 Down": "DownArrow,J1 POV1D, X1 DpadDown, X1 LStickDown",
"P1 Left": "LeftArrow,J1 POV1L, X1 DpadLeft, X1 LStickLeft",
"P1 Right": "RightArrow,J1 POV1R, X1 DpadRight, X1 LStickRight",
"P1 Start": "Return, J1 B10, X1 Start",
"NES Controller": {
"P1 Up": "UpArrow, J1 POV1U, X1 DpadUp, X1 LStickUp",
"P1 Down": "DownArrow, J1 POV1D, X1 DpadDown, X1 LStickDown",
"P1 Left": "LeftArrow, J1 POV1L, X1 DpadLeft, X1 LStickLeft",
"P1 Right": "RightArrow, J1 POV1R, X1 DpadRight, X1 LStickRight",
"P1 Select": "Space, J1 B9, X1 Back",
"P1 Start": "Return, J1 B10, X1 Start",
"P1 B": "X, X1 B",
"P1 A": "Z, X1 A",
"Reset": "",
"Power": "",
"P2 Up": "",
"P2 Down": "",
"P2 Left": "",
"P2 Right": "",
"P2 Start": "",
"P2 Select": "",
"P2 Start": "",
"P2 B": "",
"P2 A": ""
"P2 A": "",
"Reset": "",
"Power": ""
},
"SNES Controller": {
"Reset": "",
@ -70,7 +70,7 @@
"P4 B": "",
"P4 A": "",
"P4 L": "",
"P4 R": "",
"P4 R": ""
},
"Nintento 64 Controller": {
"P1 A Up": "UpArrow, J1 POV1U, X1 DpadUp, X1 LStickUp",
@ -80,7 +80,7 @@
"P1 DPad U": "",
"P1 DPad D": "",
"P1 DPad L": "",
"P1 DPad R": "",
"P1 DPad R": "",
"P1 Start": "Return, J1 B10, X1 Start",
"P1 Z": "D, J1 B3",
"P1 B": "S, J1 B1, X1 B",
@ -88,7 +88,7 @@
"P1 C Up": "NumberPad8, J1 RotationZ-",
"P1 C Down": "NumberPad2, J1 RotationZ+",
"P1 C Left": "NumberPad4, J1 Z-",
"P1 C Right": "NumberPad6, J1 Z+",
"P1 C Right": "NumberPad6, J1 Z+",
"P1 L": "Q, J1 B5",
"P1 R": "W, J1 B6",
"P2 X Axis": "",
@ -100,7 +100,7 @@
"P2 DPad U": "",
"P2 DPad D": "",
"P2 DPad L": "",
"P2 DPad R": "",
"P2 DPad R": "",
"P2 Start": "",
"P2 Z": "",
"P2 B": "",
@ -108,7 +108,7 @@
"P2 C Up": "",
"P2 C Down": "",
"P2 C Left": "",
"P2 C Right": "",
"P2 C Right": "",
"P2 L": "",
"P2 R": "",
"P3 X Axis": "",
@ -120,7 +120,7 @@
"P3 DPad U": "",
"P3 DPad D": "",
"P3 DPad L": "",
"P3 DPad R": "",
"P3 DPad R": "",
"P3 Start": "",
"P3 Z": "",
"P3 B": "",
@ -128,7 +128,7 @@
"P3 C Up": "",
"P3 C Down": "",
"P3 C Left": "",
"P3 C Right": "",
"P3 C Right": "",
"P3 L": "",
"P3 R": "",
"P4 X Axis": "",
@ -140,7 +140,7 @@
"P4 DPad U": "",
"P4 DPad D": "",
"P4 DPad L": "",
"P4 DPad R": "",
"P4 DPad R": "",
"P4 Start": "",
"P4 Z": "",
"P4 B": "",
@ -148,7 +148,7 @@
"P4 C Up": "",
"P4 C Down": "",
"P4 C Left": "",
"P4 C Right": "",
"P4 C Right": "",
"P4 L": "",
"P4 R": "",
"Reset": "",
@ -163,7 +163,7 @@
"Select": "Space, J1 B9, X1 Back",
"B": "Z, J1 B1, X1 B",
"A": "X, J1 B2, X1 A",
"Power": "",
"Power": ""
},
"GBAController": {
"Up": "UpArrow, J1 POV1U, X1 DpadUp, X1 LStickUp",
@ -176,7 +176,7 @@
"A": "X, X1 A",
"L": "W, J1 B5, X1 LeftTrigger",
"R": "E, J1 B6, X1 RightTrigger",
"Power": "",
"Power": ""
},
"Atari 2600 Basic Controller": {
"Reset": "",
@ -185,12 +185,12 @@
"P1 Down": "DownArrow, J1 POV1D, X1 DpadDown, X1 LStickDown",
"P1 Left": "LeftArrow,J1 POV1L, X1 DpadLeft, X1 LStickLeft",
"P1 Right": "RightArrow,J1 POV1R, X1 DpadRight, X1 LStickRight",
"P1 Button": "Z, J1 B1, X1 A",
"P1 Button": "Z, J1 B1, X1 A",
"P2 Up": "NumberPad8, J1 RotationZ-",
"P2 Down": "NumberPad2, J1 RotationZ+",
"P2 Left": "NumberPad4, J1 Z-",
"P2 Right": "NumberPad6, J1 Z+",
"P2 Button": "NumberPad1, J1 B4",
"P2 Button": "NumberPad1, J1 B4"
},
"Atari 7800 ProLine Joystick Controller": {
"Power": "",
@ -208,7 +208,7 @@
"P2 Left": "NumberPad4, J1 Z-",
"P2 Right": "NumberPad6, J1 Z+",
"P2 Trigger 1": "NumberPad1, J1 B4",
"P2 Trigger 2": "NumberPad3, B1 B3",
"P2 Trigger 2": "NumberPad3, B1 B3"
},
"Commodore 64 Controller": {
"P1 Up": "NumberPad8, J1 POV1U, X1 DpadUp, X1 LStickUp",
@ -255,7 +255,6 @@
"Key At": "LeftBracket",
"Key Asterisk": "RightBracket",
"Key Up Arrow": "Backslash",
"Key Left Arrow": "",
"Key Restore": "",
"Key Run/Stop": "CapsLock",
"Key Lck": "",
@ -287,7 +286,7 @@
"Key Right Shift": "RightShift",
"Key Cursor Up/Down": "DownArrow",
"Key Cursor Left/Right": "RightArrow",
"Key Space": "Space",
"Key Space": "Space"
},
"Intellivision Controller": {
"P1 Up": "UpArrow, J1 POV1U, X1 DpadUp, X1 LStickUp",
@ -325,7 +324,7 @@
"P2 Key8": "",
"P2 Key9": "",
"P2 Enter": "",
"P2 Clear": "",
"P2 Clear": ""
},
"Saturn Controller": {
"Power": "",
@ -337,7 +336,7 @@
"P1 Start": "Return, X1 Start",
"P1 X": "D, J1 B4",
"P1 Y": "S, J1 B5",
"P1 Z": "A, J1 B6",
"P1 Z": "A, J1 B6",
"P1 A": "C, J1 B1",
"P1 B": "X, J1 B2",
"P1 C": "Z, J1 B5",
@ -357,7 +356,7 @@
"P2 L": "",
"P2 R": ""
},
"PC Engine Controller": {
"PC Engine Controller": {
"Reset": "",
"Power": "",
"P1 Up": "UpArrow, J1 POV1U, X1 DpadUp, X1 LStickUp",
@ -399,9 +398,9 @@
"P5 B1": "",
"P5 B2": "",
"P5 Select": "",
"P5 Run": "",
"P5 Run": ""
},
"ColecoVision Basic Controller": {
"ColecoVision Basic Controller": {
"P1 Up": "UpArrow, J1 POV1U, X1 DpadUp, X1 LStickUp",
"P1 Down": "DownArrow, J1 POV1D, X1 DpadDown, X1 LStickDown",
"P1 Left": "LeftArrow, J1 POV1L, X1 DpadLeft, X1 LStickLeft",
@ -437,9 +436,9 @@
"P2 Key9": "",
"P2 Star": "",
"P2 Key0": "",
"P2 Pound": "",
"P2 Pound": ""
},
"SMS Controller": {
"SMS Controller": {
"P1 Up": "UpArrow, X1 DpadUp, X1 LStickUp",
"P1 Down": "DownArrow, X1 DpadDown, X1 LStickDown",
"P1 Left": "LeftArrow, X1 DpadLeft, X1 LStickLeft",
@ -453,7 +452,7 @@
"P2 Left": "",
"P2 Right": "",
"P2 B1": "",
"P2 B2": "",
"P2 B2": ""
},
"Genesis 3-Button Controller": {
"Reset": "",
@ -464,7 +463,7 @@
"P1 A": "Z, J1 B1, X1 A",
"P1 B": "X, J1 B1, X1 B",
"P1 C": "C, J1 B4, X1 X",
"P1 Start": "Return, X1 J1 B10, X1 Start",
"P1 Start": "Return, X1 J1 B10, X1 Start"
},
"Dual Gameboy Controller": {
"P1 Up": "UpArrow, J1 POV1U, X1 DpadUp, X1 LStickUp",
@ -537,8 +536,8 @@
"SECOND": "Slash",
"MODE": "BackSlash",
"DEL": "Delete",
"COMMA": "Comma",
},
"COMMA": "Comma"
}
},
"AllTrollersAutoFire": {
"NES Controller": {
@ -546,20 +545,20 @@
"P1 Down": "",
"P1 Left": "",
"P1 Right": "",
"P1 Start": "",
"P1 Select": "",
"P1 Start": "",
"P1 B": "A, J1 B4",
"P1 A": "S, J1 B3",
"Reset": "",
"Power": "",
"P2 Up": "",
"P2 Down": "",
"P2 Left": "",
"P2 Right": "",
"P2 Start": "",
"P2 Select": "",
"P2 Start": "",
"P2 B": "",
"P2 A": ""
"P2 A": "",
"Reset": "",
"Power": ""
},
"Gameboy Controller": {
"Up": "",
@ -570,7 +569,7 @@
"Select": "",
"B": "A, J1 B4",
"A": "S, J1 B3",
"Power": "",
"Power": ""
},
"GBAController": {
"Up": "",
@ -583,7 +582,7 @@
"A": "S, J1 B3",
"L": "",
"R": "",
"Power": "",
"Power": ""
},
"Atari 2600 Basic Controller": {
"Reset": "",
@ -592,15 +591,15 @@
"P1 Down": "",
"P1 Left": "",
"P1 Right": "",
"P1 Button": "A, J1 B4",
"P1 Button": "A, J1 B4",
"P2 Up": "",
"P2 Down": "",
"P2 Left": "",
"P2 Right": "",
"P2 Button": "S, J1 B3",
},
"P2 Button": "S, J1 B3"
},
"Null Controller": {},
"PC Engine Controller": {
"PC Engine Controller": {
"Reset": "",
"Power": "",
"P1 Up": "",
@ -642,7 +641,7 @@
"P5 B2": "",
"P5 B1": "",
"P5 Select": "",
"P5 Run": "",
"P5 Run": ""
},
"SMS Controller": {
"P1 Up": "",
@ -658,7 +657,7 @@
"P2 Left": "",
"P2 Right": "",
"P2 B1": "",
"P2 B2": "",
"P2 B2": ""
}
},
"AllTrollersAnalog": {
@ -703,6 +702,7 @@
"Mult": 1,
"Deadzone": 0
}
}
},
},
"NES Controller": {}
}
}