From 37aba95e81c5602a3598e6d325d1d2e4780bfe2c Mon Sep 17 00:00:00 2001 From: David Khachaturov Date: Thu, 23 Aug 2018 15:48:19 +0300 Subject: [PATCH] Added ability to toggle for single/double joycon mode. Reworked UI further. Final commit for v5. --- BetterJoyForCemu/BetterJoyForCemu.csproj | 2 + BetterJoyForCemu/Icons/jc_left_s.png | Bin 0 -> 19075 bytes BetterJoyForCemu/Icons/jc_right_s.png | Bin 0 -> 19577 bytes BetterJoyForCemu/Joycon.cs | 4 +- BetterJoyForCemu/MainForm.Designer.cs | 57 ++++++++- BetterJoyForCemu/MainForm.cs | 110 ++++++++++++++++-- BetterJoyForCemu/Program.cs | 34 +++++- .../Properties/Resources.Designer.cs | 20 ++++ BetterJoyForCemu/Properties/Resources.resx | 10 +- 9 files changed, 215 insertions(+), 22 deletions(-) create mode 100644 BetterJoyForCemu/Icons/jc_left_s.png create mode 100644 BetterJoyForCemu/Icons/jc_right_s.png diff --git a/BetterJoyForCemu/BetterJoyForCemu.csproj b/BetterJoyForCemu/BetterJoyForCemu.csproj index c56c69f..c72cfc6 100644 --- a/BetterJoyForCemu/BetterJoyForCemu.csproj +++ b/BetterJoyForCemu/BetterJoyForCemu.csproj @@ -125,6 +125,8 @@ Always + + diff --git a/BetterJoyForCemu/Icons/jc_left_s.png b/BetterJoyForCemu/Icons/jc_left_s.png new file mode 100644 index 0000000000000000000000000000000000000000..7391e8a6527b41b15bca9784e2585c6c70c2327f GIT binary patch literal 19075 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 Kl-z#s+y4UWqfR&g literal 0 HcmV?d00001 diff --git a/BetterJoyForCemu/Icons/jc_right_s.png b/BetterJoyForCemu/Icons/jc_right_s.png new file mode 100644 index 0000000000000000000000000000000000000000..13942a0aafc2c61d1b651e14eb345c6cb5ff3184 GIT binary patch literal 19577 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 state_.NO_JOYCONS) { diff --git a/BetterJoyForCemu/MainForm.Designer.cs b/BetterJoyForCemu/MainForm.Designer.cs index d61af3f..6720f9a 100644 --- a/BetterJoyForCemu/MainForm.Designer.cs +++ b/BetterJoyForCemu/MainForm.Designer.cs @@ -38,23 +38,27 @@ this.con3 = new System.Windows.Forms.Button(); this.con2 = new System.Windows.Forms.Button(); this.con1 = new System.Windows.Forms.Button(); + this.loc1 = new System.Windows.Forms.Button(); + this.loc2 = new System.Windows.Forms.Button(); + this.loc3 = new System.Windows.Forms.Button(); + this.loc4 = new System.Windows.Forms.Button(); this.contextMenu.SuspendLayout(); this.conCntrls.SuspendLayout(); this.SuspendLayout(); // // console // - this.console.Location = new System.Drawing.Point(12, 114); + this.console.Location = new System.Drawing.Point(12, 132); this.console.Multiline = true; this.console.Name = "console"; this.console.ReadOnly = true; - this.console.Size = new System.Drawing.Size(262, 118); + this.console.Size = new System.Drawing.Size(262, 100); this.console.TabIndex = 2; // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(12, 98); + this.label1.Location = new System.Drawing.Point(9, 116); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(80, 13); this.label1.TabIndex = 1; @@ -121,13 +125,17 @@ // // conCntrls // + this.conCntrls.Controls.Add(this.loc4); + this.conCntrls.Controls.Add(this.loc3); + this.conCntrls.Controls.Add(this.loc2); + this.conCntrls.Controls.Add(this.loc1); this.conCntrls.Controls.Add(this.con4); this.conCntrls.Controls.Add(this.con3); this.conCntrls.Controls.Add(this.con2); this.conCntrls.Controls.Add(this.con1); this.conCntrls.Location = new System.Drawing.Point(12, 12); this.conCntrls.Name = "conCntrls"; - this.conCntrls.Size = new System.Drawing.Size(262, 83); + this.conCntrls.Size = new System.Drawing.Size(262, 100); this.conCntrls.TabIndex = 0; this.conCntrls.TabStop = false; this.conCntrls.Text = "Connected Controllers"; @@ -180,6 +188,42 @@ this.con1.TabStop = false; this.con1.UseVisualStyleBackColor = true; // + // loc1 + // + this.loc1.Location = new System.Drawing.Point(6, 80); + this.loc1.Name = "loc1"; + this.loc1.Size = new System.Drawing.Size(58, 20); + this.loc1.TabIndex = 4; + this.loc1.Text = "Locate"; + this.loc1.UseVisualStyleBackColor = true; + // + // loc2 + // + this.loc2.Location = new System.Drawing.Point(70, 80); + this.loc2.Name = "loc2"; + this.loc2.Size = new System.Drawing.Size(58, 20); + this.loc2.TabIndex = 5; + this.loc2.Text = "Locate"; + this.loc2.UseVisualStyleBackColor = true; + // + // loc3 + // + this.loc3.Location = new System.Drawing.Point(134, 80); + this.loc3.Name = "loc3"; + this.loc3.Size = new System.Drawing.Size(58, 20); + this.loc3.TabIndex = 6; + this.loc3.Text = "Locate"; + this.loc3.UseVisualStyleBackColor = true; + // + // loc4 + // + this.loc4.Location = new System.Drawing.Point(198, 80); + this.loc4.Name = "loc4"; + this.loc4.Size = new System.Drawing.Size(58, 20); + this.loc4.TabIndex = 7; + this.loc4.Text = "Locate"; + this.loc4.UseVisualStyleBackColor = true; + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -191,6 +235,7 @@ this.Controls.Add(this.label2); this.Controls.Add(this.label1); this.Controls.Add(this.console); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.Name = "MainForm"; @@ -220,5 +265,9 @@ private System.Windows.Forms.Button con4; private System.Windows.Forms.Button con3; private System.Windows.Forms.Button con2; + private System.Windows.Forms.Button loc4; + private System.Windows.Forms.Button loc3; + private System.Windows.Forms.Button loc2; + private System.Windows.Forms.Button loc1; } } \ No newline at end of file diff --git a/BetterJoyForCemu/MainForm.cs b/BetterJoyForCemu/MainForm.cs index 83e4bf3..e6df817 100644 --- a/BetterJoyForCemu/MainForm.cs +++ b/BetterJoyForCemu/MainForm.cs @@ -1,4 +1,6 @@ -using System; +using Nefarius.ViGEm.Client.Targets; +using Nefarius.ViGEm.Client.Targets.Xbox360; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; @@ -12,12 +14,13 @@ using System.Xml.Linq; namespace BetterJoyForCemu { public partial class MainForm : Form { - public List