From a2770b84ab14be81cd2d0fd521c95e27d87d3886 Mon Sep 17 00:00:00 2001 From: Flip Date: Sat, 26 Sep 2020 01:50:46 +0200 Subject: [PATCH] Add Icons, On-Screen Display with config items --- LogiLockLED/App.config | 27 + LogiLockLED/ConfigurationForm.Designer.cs | 254 ++++++- LogiLockLED/ConfigurationForm.cs | 41 +- LogiLockLED/ConfigurationForm.resx | 759 ++++++++++++++++++++ LogiLockLED/IndicatorPopup.Designer.cs | 157 ++++ LogiLockLED/IndicatorPopup.cs | 143 ++++ LogiLockLED/IndicatorPopup.resx | 188 +++++ LogiLockLED/LedSettings.cs | 35 +- LogiLockLED/LedThread.cs | 77 +- LogiLockLED/LogiLockLED.csproj | 13 +- LogiLockLED/LogiLockLED.ico | Bin 0 -> 177136 bytes LogiLockLED/LogiLockLED.xcf | Bin 0 -> 98613 bytes LogiLockLED/LogiLockLEDApp.cs | 49 +- LogiLockLED/Properties/Settings.Designer.cs | 108 +++ LogiLockLED/Properties/Settings.settings | 27 + LogiLockLED/Resources/appicon.ico | Bin 45451 -> 45054 bytes Setup LogiLockLED/Setup LogiLockLED.vdproj | 4 +- 17 files changed, 1835 insertions(+), 47 deletions(-) create mode 100644 LogiLockLED/IndicatorPopup.Designer.cs create mode 100644 LogiLockLED/IndicatorPopup.cs create mode 100644 LogiLockLED/IndicatorPopup.resx create mode 100644 LogiLockLED/LogiLockLED.ico create mode 100644 LogiLockLED/LogiLockLED.xcf diff --git a/LogiLockLED/App.config b/LogiLockLED/App.config index 497b367..a0b92cc 100644 --- a/LogiLockLED/App.config +++ b/LogiLockLED/App.config @@ -40,6 +40,33 @@ True + + Arial, 48pt, style=Bold, Italic + + + Centre + + + 8 + + + 8 + + + True + + + True + + + White + + + 3, 3, 3 + + + 75 + \ No newline at end of file diff --git a/LogiLockLED/ConfigurationForm.Designer.cs b/LogiLockLED/ConfigurationForm.Designer.cs index 369b691..268d03b 100644 --- a/LogiLockLED/ConfigurationForm.Designer.cs +++ b/LogiLockLED/ConfigurationForm.Designer.cs @@ -28,6 +28,7 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ConfigurationForm)); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.cbEnableCaps = new System.Windows.Forms.CheckBox(); this.btnCapsOffColour = new System.Windows.Forms.Button(); @@ -53,10 +54,32 @@ private void InitializeComponent() this.cbAutoStartApp = new System.Windows.Forms.CheckBox(); this.btnCancel = new System.Windows.Forms.Button(); this.btnApply = new System.Windows.Forms.Button(); + this.groupBox5 = new System.Windows.Forms.GroupBox(); + this.cbOsdEnabled = new System.Windows.Forms.CheckBox(); + this.label7 = new System.Windows.Forms.Label(); + this.cbOSDPosition = new System.Windows.Forms.ComboBox(); + this.label8 = new System.Windows.Forms.Label(); + this.fontDialog = new System.Windows.Forms.FontDialog(); + this.btnOsdFont = new System.Windows.Forms.Button(); + this.cbOsdPadding = new System.Windows.Forms.NumericUpDown(); + this.label9 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.cbOsdMargin = new System.Windows.Forms.NumericUpDown(); + this.cbOsdRoundedCorners = new System.Windows.Forms.CheckBox(); + this.btnOsdTxtColour = new System.Windows.Forms.Button(); + this.label11 = new System.Windows.Forms.Label(); + this.btnOsdBkColour = new System.Windows.Forms.Button(); + this.label12 = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); + this.cbOsdOpacity = new System.Windows.Forms.NumericUpDown(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.groupBox3.SuspendLayout(); this.groupBox4.SuspendLayout(); + this.groupBox5.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.cbOsdPadding)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbOsdMargin)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbOsdOpacity)).BeginInit(); this.SuspendLayout(); // // groupBox1 @@ -68,7 +91,7 @@ private void InitializeComponent() this.groupBox1.Controls.Add(this.label1); this.groupBox1.Location = new System.Drawing.Point(14, 178); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(290, 81); + this.groupBox1.Size = new System.Drawing.Size(271, 81); this.groupBox1.TabIndex = 2; this.groupBox1.TabStop = false; this.groupBox1.Text = "Caps Lock"; @@ -123,7 +146,7 @@ private void InitializeComponent() // btnClose // this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.btnClose.Location = new System.Drawing.Point(201, 385); + this.btnClose.Location = new System.Drawing.Point(403, 385); this.btnClose.Name = "btnClose"; this.btnClose.Size = new System.Drawing.Size(103, 23); this.btnClose.TabIndex = 3; @@ -140,7 +163,7 @@ private void InitializeComponent() this.groupBox2.Controls.Add(this.label4); this.groupBox2.Location = new System.Drawing.Point(14, 91); this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(290, 81); + this.groupBox2.Size = new System.Drawing.Size(271, 81); this.groupBox2.TabIndex = 5; this.groupBox2.TabStop = false; this.groupBox2.Text = "Num Lock"; @@ -201,7 +224,7 @@ private void InitializeComponent() this.groupBox3.Controls.Add(this.label6); this.groupBox3.Location = new System.Drawing.Point(13, 265); this.groupBox3.Name = "groupBox3"; - this.groupBox3.Size = new System.Drawing.Size(290, 79); + this.groupBox3.Size = new System.Drawing.Size(272, 79); this.groupBox3.TabIndex = 6; this.groupBox3.TabStop = false; this.groupBox3.Text = "Scroll Lock"; @@ -259,7 +282,7 @@ private void InitializeComponent() this.groupBox4.Controls.Add(this.cbAutoStartApp); this.groupBox4.Location = new System.Drawing.Point(13, 13); this.groupBox4.Name = "groupBox4"; - this.groupBox4.Size = new System.Drawing.Size(289, 72); + this.groupBox4.Size = new System.Drawing.Size(272, 72); this.groupBox4.TabIndex = 7; this.groupBox4.TabStop = false; this.groupBox4.Text = "General Settings"; @@ -299,7 +322,7 @@ private void InitializeComponent() // btnApply // this.btnApply.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.btnApply.Location = new System.Drawing.Point(102, 385); + this.btnApply.Location = new System.Drawing.Point(304, 385); this.btnApply.Name = "btnApply"; this.btnApply.Size = new System.Drawing.Size(93, 23); this.btnApply.TabIndex = 9; @@ -307,11 +330,204 @@ private void InitializeComponent() this.btnApply.UseVisualStyleBackColor = true; this.btnApply.Click += new System.EventHandler(this.btnApply_Click); // + // groupBox5 + // + this.groupBox5.Controls.Add(this.label13); + this.groupBox5.Controls.Add(this.cbOsdOpacity); + this.groupBox5.Controls.Add(this.btnOsdBkColour); + this.groupBox5.Controls.Add(this.label12); + this.groupBox5.Controls.Add(this.btnOsdTxtColour); + this.groupBox5.Controls.Add(this.label11); + this.groupBox5.Controls.Add(this.cbOsdRoundedCorners); + this.groupBox5.Controls.Add(this.label10); + this.groupBox5.Controls.Add(this.cbOsdMargin); + this.groupBox5.Controls.Add(this.label9); + this.groupBox5.Controls.Add(this.cbOsdPadding); + this.groupBox5.Controls.Add(this.btnOsdFont); + this.groupBox5.Controls.Add(this.label8); + this.groupBox5.Controls.Add(this.cbOSDPosition); + this.groupBox5.Controls.Add(this.label7); + this.groupBox5.Controls.Add(this.cbOsdEnabled); + this.groupBox5.Location = new System.Drawing.Point(301, 13); + this.groupBox5.Name = "groupBox5"; + this.groupBox5.Size = new System.Drawing.Size(200, 266); + this.groupBox5.TabIndex = 10; + this.groupBox5.TabStop = false; + this.groupBox5.Text = "On-Screen Display"; + // + // cbOsdEnabled + // + this.cbOsdEnabled.AutoSize = true; + this.cbOsdEnabled.Location = new System.Drawing.Point(7, 20); + this.cbOsdEnabled.Name = "cbOsdEnabled"; + this.cbOsdEnabled.Size = new System.Drawing.Size(85, 17); + this.cbOsdEnabled.TabIndex = 0; + this.cbOsdEnabled.Text = "Enable OSD"; + this.cbOsdEnabled.UseVisualStyleBackColor = true; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(4, 43); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(47, 13); + this.label7.TabIndex = 1; + this.label7.Text = "Position:"; + // + // cbOSDPosition + // + this.cbOSDPosition.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cbOSDPosition.FormattingEnabled = true; + this.cbOSDPosition.Items.AddRange(new object[] { + "Center", + "Top Left", + "Top Right", + "Bottom Left", + "Bottom Right"}); + this.cbOSDPosition.Location = new System.Drawing.Point(60, 40); + this.cbOSDPosition.Name = "cbOSDPosition"; + this.cbOSDPosition.Size = new System.Drawing.Size(121, 21); + this.cbOSDPosition.TabIndex = 2; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(4, 150); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(31, 13); + this.label8.TabIndex = 3; + this.label8.Text = "Font:"; + // + // btnOsdFont + // + this.btnOsdFont.Location = new System.Drawing.Point(60, 145); + this.btnOsdFont.Name = "btnOsdFont"; + this.btnOsdFont.Size = new System.Drawing.Size(121, 23); + this.btnOsdFont.TabIndex = 4; + this.btnOsdFont.Text = "Font"; + this.btnOsdFont.UseVisualStyleBackColor = true; + this.btnOsdFont.Click += new System.EventHandler(this.btnFont_Click); + // + // cbOsdPadding + // + this.cbOsdPadding.Location = new System.Drawing.Point(60, 67); + this.cbOsdPadding.Maximum = new decimal(new int[] { + -727379969, + 232, + 0, + 0}); + this.cbOsdPadding.Minimum = new decimal(new int[] { + -727379969, + 232, + 0, + -2147483648}); + this.cbOsdPadding.Name = "cbOsdPadding"; + this.cbOsdPadding.Size = new System.Drawing.Size(120, 20); + this.cbOsdPadding.TabIndex = 5; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(3, 69); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(49, 13); + this.label9.TabIndex = 6; + this.label9.Text = "Padding:"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(3, 95); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(42, 13); + this.label10.TabIndex = 8; + this.label10.Text = "Margin:"; + // + // cbOsdMargin + // + this.cbOsdMargin.Location = new System.Drawing.Point(60, 93); + this.cbOsdMargin.Maximum = new decimal(new int[] { + -727379969, + 232, + 0, + 0}); + this.cbOsdMargin.Minimum = new decimal(new int[] { + -727379969, + 232, + 0, + -2147483648}); + this.cbOsdMargin.Name = "cbOsdMargin"; + this.cbOsdMargin.Size = new System.Drawing.Size(120, 20); + this.cbOsdMargin.TabIndex = 7; + // + // cbOsdRoundedCorners + // + this.cbOsdRoundedCorners.AutoSize = true; + this.cbOsdRoundedCorners.Location = new System.Drawing.Point(7, 122); + this.cbOsdRoundedCorners.Name = "cbOsdRoundedCorners"; + this.cbOsdRoundedCorners.Size = new System.Drawing.Size(109, 17); + this.cbOsdRoundedCorners.TabIndex = 9; + this.cbOsdRoundedCorners.Text = "Rounded Corners"; + this.cbOsdRoundedCorners.UseVisualStyleBackColor = true; + // + // btnOsdTxtColour + // + this.btnOsdTxtColour.Location = new System.Drawing.Point(96, 174); + this.btnOsdTxtColour.Name = "btnOsdTxtColour"; + this.btnOsdTxtColour.Size = new System.Drawing.Size(44, 23); + this.btnOsdTxtColour.TabIndex = 11; + this.btnOsdTxtColour.UseVisualStyleBackColor = true; + this.btnOsdTxtColour.Click += new System.EventHandler(this.btnColour_Click); + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(4, 179); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(64, 13); + this.label11.TabIndex = 10; + this.label11.Text = "Text Colour:"; + // + // btnOsdBkColour + // + this.btnOsdBkColour.Location = new System.Drawing.Point(96, 203); + this.btnOsdBkColour.Name = "btnOsdBkColour"; + this.btnOsdBkColour.Size = new System.Drawing.Size(44, 23); + this.btnOsdBkColour.TabIndex = 13; + this.btnOsdBkColour.UseVisualStyleBackColor = true; + this.btnOsdBkColour.Click += new System.EventHandler(this.btnColour_Click); + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(4, 208); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(68, 13); + this.label12.TabIndex = 12; + this.label12.Text = "Back Colour:"; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(3, 234); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(46, 13); + this.label13.TabIndex = 15; + this.label13.Text = "Opacity:"; + // + // cbOsdOpacity + // + this.cbOsdOpacity.Location = new System.Drawing.Point(61, 232); + this.cbOsdOpacity.Name = "cbOsdOpacity"; + this.cbOsdOpacity.Size = new System.Drawing.Size(119, 20); + this.cbOsdOpacity.TabIndex = 14; + // // ConfigurationForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(311, 414); + this.ClientSize = new System.Drawing.Size(513, 414); + this.Controls.Add(this.groupBox5); this.Controls.Add(this.btnApply); this.Controls.Add(this.btnCancel); this.Controls.Add(this.groupBox4); @@ -320,6 +536,7 @@ private void InitializeComponent() this.Controls.Add(this.groupBox1); this.Controls.Add(this.btnClose); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "ConfigurationForm"; this.Text = "LogiLockLED Configuration"; this.groupBox1.ResumeLayout(false); @@ -330,6 +547,11 @@ private void InitializeComponent() this.groupBox3.PerformLayout(); this.groupBox4.ResumeLayout(false); this.groupBox4.PerformLayout(); + this.groupBox5.ResumeLayout(false); + this.groupBox5.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.cbOsdPadding)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbOsdMargin)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbOsdOpacity)).EndInit(); this.ResumeLayout(false); } @@ -361,6 +583,24 @@ private void InitializeComponent() private System.Windows.Forms.Button btnCancel; private System.Windows.Forms.CheckBox cbEnable; private System.Windows.Forms.Button btnApply; + private System.Windows.Forms.GroupBox groupBox5; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.CheckBox cbOsdEnabled; + private System.Windows.Forms.ComboBox cbOSDPosition; + private System.Windows.Forms.Button btnOsdFont; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.FontDialog fontDialog; + private System.Windows.Forms.CheckBox cbOsdRoundedCorners; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.NumericUpDown cbOsdMargin; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.NumericUpDown cbOsdPadding; + private System.Windows.Forms.Button btnOsdBkColour; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Button btnOsdTxtColour; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.NumericUpDown cbOsdOpacity; } } diff --git a/LogiLockLED/ConfigurationForm.cs b/LogiLockLED/ConfigurationForm.cs index f2867d6..df97ea7 100644 --- a/LogiLockLED/ConfigurationForm.cs +++ b/LogiLockLED/ConfigurationForm.cs @@ -1,19 +1,26 @@ using Microsoft.Win32; using System; +using System.ComponentModel; using System.Drawing; using System.Windows.Forms; namespace LogiLockLED { + public enum OSDPosition { Centre = 1, Top_Left, Top_Right, Bottom_Left, Bottom_Right } public partial class ConfigurationForm : Form { private readonly LedSettings ledSettings; public event EventHandler SettingsUpdated; + + public ConfigurationForm(ref LedSettings settings) { InitializeComponent(); ledSettings = settings; + cbOSDPosition.DataSource = Enum.GetValues(typeof(OSDPosition)); + cbOSDPosition.SelectedIndex = 0; + PopulateSettingsToUI(); } @@ -44,6 +51,12 @@ private void SetSettingValue(object sender, Color color) ledSettings.ScrollOffColour = color; if (sender == btnScrollOnColour) ledSettings.ScrollOnColour = color; + + if (sender == btnOsdTxtColour) + ledSettings.OsdTextColour = color == Color.Black ? Color.FromArgb(3, 3, 3) : color; + if (sender == btnOsdBkColour) + ledSettings.OsdBackColour = color == Color.Black ? Color.FromArgb(3, 3, 3) : color; + } private void PopulateSettingsToUI() @@ -63,11 +76,28 @@ private void PopulateSettingsToUI() btnScrollOnColour.BackColor = ledSettings.ScrollOnColour; cbAutoStartApp.Checked = ledSettings.AutoStartApp; - + + cbOsdEnabled.Checked = ledSettings.OsdEnabled; + cbOSDPosition.SelectedItem = ledSettings.OsdPosition; + btnOsdFont.Text = ledSettings.OsdFont.SizeInPoints.ToString() + ", " + ledSettings.OsdFont.FontFamily.Name; + fontDialog.Font = ledSettings.OsdFont; + cbOsdPadding.Value = ledSettings.OsdPadding; + cbOsdMargin.Value = ledSettings.OsdMargin; + cbOsdRoundedCorners.Checked = ledSettings.OsdRoundedCorners; + btnOsdTxtColour.BackColor = ledSettings.OsdTextColour; + btnOsdBkColour.BackColor = ledSettings.OsdBackColour; + cbOsdOpacity.Value = ledSettings.OsdOpacity; } private void ApplySettings() { + ledSettings.OsdEnabled = cbOsdEnabled.Checked; + ledSettings.OsdPosition = (OSDPosition)cbOSDPosition.SelectedItem; + ledSettings.OsdPadding = (int)cbOsdPadding.Value; + ledSettings.OsdMargin = (int)cbOsdMargin.Value; + ledSettings.OsdRoundedCorners = cbOsdRoundedCorners.Checked; + ledSettings.OsdOpacity = (int)cbOsdOpacity.Value; + ledSettings.SaveSettings(); SettingsUpdated?.Invoke(this, new EventArgs()); } @@ -114,5 +144,14 @@ private void cbAutoStartApp_CheckedChanged(object sender, EventArgs e) { ledSettings.AutoStartApp = cbAutoStartApp.Checked; } + + private void btnFont_Click(object sender, EventArgs e) + { + if( fontDialog.ShowDialog(this) == DialogResult.OK) + { + ledSettings.OsdFont = fontDialog.Font; + btnOsdFont.Text = ledSettings.OsdFont.SizeInPoints.ToString() + ", " + ledSettings.OsdFont.FontFamily.Name; + } + } } } diff --git a/LogiLockLED/ConfigurationForm.resx b/LogiLockLED/ConfigurationForm.resx index d2071e0..d8fc87a 100644 --- a/LogiLockLED/ConfigurationForm.resx +++ b/LogiLockLED/ConfigurationForm.resx @@ -120,4 +120,763 @@ 17, 17 + + 131, 17 + + + + + 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 + + \ No newline at end of file diff --git a/LogiLockLED/IndicatorPopup.Designer.cs b/LogiLockLED/IndicatorPopup.Designer.cs new file mode 100644 index 0000000..f78c4b1 --- /dev/null +++ b/LogiLockLED/IndicatorPopup.Designer.cs @@ -0,0 +1,157 @@ +namespace LogiLockLED +{ + partial class IndicatorPopup + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(IndicatorPopup)); + this.lblLockText = new System.Windows.Forms.Label(); + this.hideTimer = new System.Windows.Forms.Timer(this.components); + this.cornerTL = new System.Windows.Forms.PictureBox(); + this.cornerBR = new System.Windows.Forms.PictureBox(); + this.cornerTR = new System.Windows.Forms.PictureBox(); + this.cornerBL = new System.Windows.Forms.PictureBox(); + ((System.ComponentModel.ISupportInitialize)(this.cornerTL)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cornerBR)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cornerTR)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cornerBL)).BeginInit(); + this.SuspendLayout(); + // + // lblLockText + // + this.lblLockText.AutoSize = true; + this.lblLockText.BackColor = System.Drawing.Color.Transparent; + this.lblLockText.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblLockText.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.lblLockText.Font = new System.Drawing.Font("Arial", 48F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblLockText.ForeColor = System.Drawing.Color.White; + this.lblLockText.Location = new System.Drawing.Point(8, 8); + this.lblLockText.Margin = new System.Windows.Forms.Padding(3); + this.lblLockText.Name = "lblLockText"; + this.lblLockText.Size = new System.Drawing.Size(289, 72); + this.lblLockText.TabIndex = 0; + this.lblLockText.Text = "Num: On"; + this.lblLockText.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // hideTimer + // + this.hideTimer.Enabled = true; + this.hideTimer.Interval = 1000; + this.hideTimer.Tick += new System.EventHandler(this.hideTimer_Tick); + // + // cornerTL + // + this.cornerTL.BackColor = System.Drawing.Color.Transparent; + this.cornerTL.Image = ((System.Drawing.Image)(resources.GetObject("cornerTL.Image"))); + this.cornerTL.Location = new System.Drawing.Point(8, 8); + this.cornerTL.Name = "cornerTL"; + this.cornerTL.Size = new System.Drawing.Size(17, 17); + this.cornerTL.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.cornerTL.TabIndex = 1; + this.cornerTL.TabStop = false; + // + // cornerBR + // + this.cornerBR.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.cornerBR.BackColor = System.Drawing.Color.Transparent; + this.cornerBR.Image = ((System.Drawing.Image)(resources.GetObject("cornerBR.Image"))); + this.cornerBR.Location = new System.Drawing.Point(221, 108); + this.cornerBR.Name = "cornerBR"; + this.cornerBR.Size = new System.Drawing.Size(17, 17); + this.cornerBR.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.cornerBR.TabIndex = 2; + this.cornerBR.TabStop = false; + // + // cornerTR + // + this.cornerTR.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.cornerTR.BackColor = System.Drawing.Color.Transparent; + this.cornerTR.Image = ((System.Drawing.Image)(resources.GetObject("cornerTR.Image"))); + this.cornerTR.Location = new System.Drawing.Point(221, 8); + this.cornerTR.Name = "cornerTR"; + this.cornerTR.Size = new System.Drawing.Size(17, 17); + this.cornerTR.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.cornerTR.TabIndex = 3; + this.cornerTR.TabStop = false; + // + // cornerBL + // + this.cornerBL.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.cornerBL.BackColor = System.Drawing.Color.Transparent; + this.cornerBL.Image = ((System.Drawing.Image)(resources.GetObject("cornerBL.Image"))); + this.cornerBL.Location = new System.Drawing.Point(8, 108); + this.cornerBL.Name = "cornerBL"; + this.cornerBL.Size = new System.Drawing.Size(17, 17); + this.cornerBL.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.cornerBL.TabIndex = 4; + this.cornerBL.TabStop = false; + // + // IndicatorPopup + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoSize = true; + this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.AutoValidate = System.Windows.Forms.AutoValidate.Disable; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(4)))), ((int)(((byte)(4)))), ((int)(((byte)(4))))); + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.CausesValidation = false; + this.ClientSize = new System.Drawing.Size(249, 127); + this.Controls.Add(this.cornerBL); + this.Controls.Add(this.cornerTR); + this.Controls.Add(this.cornerBR); + this.Controls.Add(this.cornerTL); + this.Controls.Add(this.lblLockText); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "IndicatorPopup"; + this.Opacity = 0.75D; + this.Padding = new System.Windows.Forms.Padding(8); + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "IndicatorPopup"; + this.TransparencyKey = System.Drawing.Color.Black; + ((System.ComponentModel.ISupportInitialize)(this.cornerTL)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cornerBR)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cornerTR)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cornerBL)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label lblLockText; + private System.Windows.Forms.Timer hideTimer; + private System.Windows.Forms.PictureBox cornerTL; + private System.Windows.Forms.PictureBox cornerBR; + private System.Windows.Forms.PictureBox cornerTR; + private System.Windows.Forms.PictureBox cornerBL; + } +} \ No newline at end of file diff --git a/LogiLockLED/IndicatorPopup.cs b/LogiLockLED/IndicatorPopup.cs new file mode 100644 index 0000000..02798bd --- /dev/null +++ b/LogiLockLED/IndicatorPopup.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace LogiLockLED +{ + public partial class IndicatorPopup : Form + { + public OSDPosition Position { get; private set; } + public int OuterMargin { get; private set; } + + protected override bool ShowWithoutActivation + { + get { return true; } + } + + + public IndicatorPopup() + { + InitializeComponent(); + IntPtr dummy = this.Handle; //Force form to load without showing + } + + private void hideTimer_Tick(object sender, EventArgs e) + { + if (this.Visible) + { + lblLockText.Text = " "; + this.Hide(); + hideTimer.Stop(); + } + } + + public void ShowLockState(LockKey lockKey, bool state) + { + //cornerTR.Location = new Point(0, 0); + //cornerBR.Location = new Point(0, 0); + + lblLockText.Text = lockKey.ToString() + ": " + (state ? "On" : "Off"); + //lblLockText.AutoSize = false; + //lblLockText.Width = 50; + //this.Width = 50; + //lblLockText.AutoSize = true; + + + cornerTL.Location = new Point(0, 0); + cornerBL.Location = new Point(0, this.Height-cornerBL.Height); + cornerTR.Location = new Point(this.Width - cornerTR.Width, 0); + cornerBR.Location = new Point(this.Width - cornerBR.Width, this.Height - cornerBR.Height); + + + MoveIntoPosition(); + + ShowInactiveTopmost(this); + hideTimer.Stop(); + hideTimer.Start(); + } + + private void MoveIntoPosition() + { + var area = Screen.PrimaryScreen.WorkingArea; + + if (Position == OSDPosition.Centre) + { + this.Left = (area.X + area.Width - this.Width) / 2; + this.Top = (area.Y + area.Height - this.Height) / 2; + } + else + { + if (Position == OSDPosition.Bottom_Right || Position == OSDPosition.Bottom_Left) + this.Top = area.Y + area.Height - this.Height - OuterMargin; + else + this.Top = OuterMargin; + + if(Position == OSDPosition.Bottom_Right || Position == OSDPosition.Top_Right) + this.Left = area.X + area.Width - this.Width - OuterMargin; + else + this.Left = OuterMargin; + + } + } + + public void Configure(LedSettings settings) + { + lblLockText.Font = settings.OsdFont; + + cornerTL.Visible = settings.OsdRoundedCorners; + cornerTR.Visible = settings.OsdRoundedCorners; + cornerBL.Visible = settings.OsdRoundedCorners; + cornerBR.Visible = settings.OsdRoundedCorners; + + Position = settings.OsdPosition; + this.Padding = new Padding(settings.OsdPadding, settings.OsdPadding, settings.OsdPadding, (int)(settings.OsdPadding)+4); + this.OuterMargin = settings.OsdMargin; + + lblLockText.ForeColor = settings.OsdTextColour; + this.BackColor = settings.OsdBackColour; + this.Opacity = settings.OsdOpacity / 100d; + } + + /// + /// Hide Show method. Consumer should use ShowLockState. + /// + new protected void Show() + { + base.Show(); + } + + #region DLLImports + private const int SW_SHOWNOACTIVATE = 4; + private const int HWND_TOPMOST = -1; + private const uint SWP_NOACTIVATE = 0x0010; + + [DllImport("user32.dll", EntryPoint = "SetWindowPos")] + static extern bool SetWindowPos( + int hWnd, // Window handle + int hWndInsertAfter, // Placement-order handle + int X, // Horizontal position + int Y, // Vertical position + int cx, // Width + int cy, // Height + uint uFlags); // Window positioning flags + + [DllImport("user32.dll")] + static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); + + static void ShowInactiveTopmost(Form frm) + { + ShowWindow(frm.Handle, SW_SHOWNOACTIVATE); + SetWindowPos(frm.Handle.ToInt32(), HWND_TOPMOST, + frm.Left, frm.Top, frm.Width, frm.Height, + SWP_NOACTIVATE); + } + #endregion + } +} diff --git a/LogiLockLED/IndicatorPopup.resx b/LogiLockLED/IndicatorPopup.resx new file mode 100644 index 0000000..bd6ea23 --- /dev/null +++ b/LogiLockLED/IndicatorPopup.resx @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAABg2lDQ1BJQ0MgcHJvZmlsZQAAKM+VkTlI + A0EYhb9ExRsLU6hYbBGtFERFLCWKIihIEiEehbsbEwPZNexGbCwFW8HCo/EqbKy1tbAVBMEDxMrSStFG + ZP1nIyQIERwY5uPNvMfMGwgeZE3LrewBy8470bGIlpiZ1aqfqaWVeroJ6aabm4yNxik7Pm4JqPWmW2Xx + v9GYXHRNCGjCQ2bOyQsvCA+s5nOKd4RD5pKeFD4V7nLkgsL3SjcK/KI47XNQZYaceHRYOCSspUvYKGFz + ybGE+4XDScuW/GCiwEnFa4qt7Ir5c0/1woZFezqmdJntjDHOJFNoGKyQIUte+spgi+ISlf1IGX+b758S + lyGuDKY4RljGQvf9qD/43a2b6ustJDVEoOrJ8946oHoLvjY97/PQ876OoOIRLuyif/kABt9F3yxq4X1o + Woezy6JmbMP5BrQ85HRH96UKmcFUCl5P5JtmoPka6uYKvf3sc3wHcelq4gp296AzLdnzZd5dU9rbn2f8 + /oh8A51KcrgVxRv9AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AkZDToMRceIUQAAABl0RVh0 + Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAACQSURBVDhPYwCC/0Tiz0C8HIjTgdgMiEWAmBmK + sWpAxleBOB+IhYEYJ8CmEYR/AnEzEAsCMUGAzYALQBwMxEQDdAMOAbETEJMEkA24BsTOQEwyQDYkGiRA + DoAZMAHMIxOADHgGxApgHpkAZEgThEk+ABmiBmGSD3ZDaYpAFZSmCLhBaYoARbECA5xQeiABAwMAbe04 + h5tuLHkAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAABg2lDQ1BJQ0MgcHJvZmlsZQAAKM+VkTlI + A0EYhb9ExRsLU6hYbBGtFERFLCWKIihIEiEehbsbEwPZNexGbCwFW8HCo/EqbKy1tbAVBMEDxMrSStFG + ZP1nIyQIERwY5uPNvMfMGwgeZE3LrewBy8470bGIlpiZ1aqfqaWVeroJ6aabm4yNxik7Pm4JqPWmW2Xx + v9GYXHRNCGjCQ2bOyQsvCA+s5nOKd4RD5pKeFD4V7nLkgsL3SjcK/KI47XNQZYaceHRYOCSspUvYKGFz + ybGE+4XDScuW/GCiwEnFa4qt7Ir5c0/1woZFezqmdJntjDHOJFNoGKyQIUte+spgi+ISlf1IGX+b758S + lyGuDKY4RljGQvf9qD/43a2b6ustJDVEoOrJ8946oHoLvjY97/PQ876OoOIRLuyif/kABt9F3yxq4X1o + Woezy6JmbMP5BrQ85HRH96UKmcFUCl5P5JtmoPka6uYKvf3sc3wHcelq4gp296AzLdnzZd5dU9rbn2f8 + /oh8A51KcrgVxRv9AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AkZDgcLsw3rFQAAABl0RVh0 + Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAACOSURBVDhPYxgsgBNKUwQUoDRFwA1KUwSqoDRF + YDeUJhuoAfF/CJN80ATEFBkCipVnQEyRIROAGGQA2YZEAzHMALIMcQbia0BMtiFOQHwIiJENIMmQYCC+ + AMToBhBliCAQNwPxTyDGZgAI4wTCQJwPxFeBGJtGZMzADMUiQGwGxOlAvByIPwMxNg1omOE/AP64OIdb + XwznAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAABg2lDQ1BJQ0MgcHJvZmlsZQAAKM+VkTlI + A0EYhb9ExRsLU6hYbBGtFERFLCWKIihIEiEehbsbEwPZNexGbCwFW8HCo/EqbKy1tbAVBMEDxMrSStFG + ZP1nIyQIERwY5uPNvMfMGwgeZE3LrewBy8470bGIlpiZ1aqfqaWVeroJ6aabm4yNxik7Pm4JqPWmW2Xx + v9GYXHRNCGjCQ2bOyQsvCA+s5nOKd4RD5pKeFD4V7nLkgsL3SjcK/KI47XNQZYaceHRYOCSspUvYKGFz + ybGE+4XDScuW/GCiwEnFa4qt7Ir5c0/1woZFezqmdJntjDHOJFNoGKyQIUte+spgi+ISlf1IGX+b758S + lyGuDKY4RljGQvf9qD/43a2b6ustJDVEoOrJ8946oHoLvjY97/PQ876OoOIRLuyif/kABt9F3yxq4X1o + Woezy6JmbMP5BrQ85HRH96UKmcFUCl5P5JtmoPka6uYKvf3sc3wHcelq4gp296AzLdnzZd5dU9rbn2f8 + /oh8A51KcrgVxRv9AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AkZDgY28n6WRQAAABl0RVh0 + Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAACJSURBVDhPpdGxDYJQFIXhl1hZGh3AihEcQBIW + oHQASnpKXYAtGMKOCWxkBBagopL/JLewwEhy/uTLrd5pXqJdOOGCCh0mfDb62RE13lh7+O1vBzwwY21A + NlfiBWtEXdHDGlE5Blgj6gZ7RLWwR84YYY2oO+yRDPaIesa1auJaFXGt9Et2+7hOKS3HBjiHIXCtMQAA + AABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAABg2lDQ1BJQ0MgcHJvZmlsZQAAKM+VkTlI + A0EYhb9ExRsLU6hYbBGtFERFLCWKIihIEiEehbsbEwPZNexGbCwFW8HCo/EqbKy1tbAVBMEDxMrSStFG + ZP1nIyQIERwY5uPNvMfMGwgeZE3LrewBy8470bGIlpiZ1aqfqaWVeroJ6aabm4yNxik7Pm4JqPWmW2Xx + v9GYXHRNCGjCQ2bOyQsvCA+s5nOKd4RD5pKeFD4V7nLkgsL3SjcK/KI47XNQZYaceHRYOCSspUvYKGFz + ybGE+4XDScuW/GCiwEnFa4qt7Ir5c0/1woZFezqmdJntjDHOJFNoGKyQIUte+spgi+ISlf1IGX+b758S + lyGuDKY4RljGQvf9qD/43a2b6ustJDVEoOrJ8946oHoLvjY97/PQ876OoOIRLuyif/kABt9F3yxq4X1o + Woezy6JmbMP5BrQ85HRH96UKmcFUCl5P5JtmoPka6uYKvf3sc3wHcelq4gp296AzLdnzZd5dU9rbn2f8 + /oh8A51KcrgVxRv9AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AkZDgcYN7OqywAAABl0RVh0 + Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAACXSURBVDhPY6AW4ITSFAEFKE0RcIPSFIEqKE0R + 2A2lKQL/gVgNwiQfgAxpgjDJByBDngExRbEEMgSEJ4B5ZAKYISAcDRIgByAbcg2InYGYZIBsCAgfAmIn + ICYJoBsCwheAOBiIiQbYDAHhn0DcDMSCQEwQYDMAGV8F4nwgFgZinACbRmz4MxAvB+J0IDYDYhEgZmZg + YGAGAKWfOIcmn3/pAAAAAElFTkSuQmCC + + + \ No newline at end of file diff --git a/LogiLockLED/LedSettings.cs b/LogiLockLED/LedSettings.cs index c5e8ad5..ef4b798 100644 --- a/LogiLockLED/LedSettings.cs +++ b/LogiLockLED/LedSettings.cs @@ -1,6 +1,7 @@ using System.Windows.Forms; using System.Drawing; using Microsoft.Win32; +using System; namespace LogiLockLED { @@ -19,10 +20,21 @@ public class LedSettings public Color ScrollOnColour { get; set; } public Color ScrollOffColour { get; set; } + public bool OsdEnabled { get; set; } + public Font OsdFont { get; set; } + public OSDPosition OsdPosition { get; set; } + public int OsdPadding { get; set; } + public int OsdMargin { get; set; } + public bool OsdRoundedCorners { get; set; } + public Color OsdTextColour { get; set; } + public Color OsdBackColour { get; set; } + public int OsdOpacity { get; set; } + private const string appRegKeyName = "LogiLockLED"; public void LoadSettings() { + EnableKeyLockLEDs = Properties.Settings.Default.EnableKeyLockLEDs; EnableCaps = Properties.Settings.Default.EnableCaps; EnableNum =Properties.Settings.Default.EnableNum; @@ -36,7 +48,17 @@ public void LoadSettings() ScrollOffColour = Properties.Settings.Default.ScrollOffColour; AutoStartApp = GetAutoStartSetting(); - + OsdEnabled = Properties.Settings.Default.OsdEnabled; + OsdFont = Properties.Settings.Default.OsdFont; + OSDPosition tmpOsdPosition; + if (Enum.TryParse(Properties.Settings.Default.OsdPosition, out tmpOsdPosition)) + OsdPosition = tmpOsdPosition; + OsdPadding = Properties.Settings.Default.OsdPadding; + OsdMargin = Properties.Settings.Default.OsdMargin; + OsdRoundedCorners = Properties.Settings.Default.OsdRoundedCorners; + OsdTextColour = Properties.Settings.Default.OsdTextColour; + OsdBackColour = Properties.Settings.Default.OsdBackColour; + OsdOpacity = Properties.Settings.Default.OsdOpacity; } public void SaveSettings() @@ -52,6 +74,17 @@ public void SaveSettings() Properties.Settings.Default.NumOffColour = NumOffColour; Properties.Settings.Default.ScrollOnColour = ScrollOnColour; Properties.Settings.Default.ScrollOffColour = ScrollOffColour; + + Properties.Settings.Default.OsdEnabled = OsdEnabled; + Properties.Settings.Default.OsdFont = OsdFont; + Properties.Settings.Default.OsdPosition = OsdPosition.ToString(); + Properties.Settings.Default.OsdPadding = OsdPadding; + Properties.Settings.Default.OsdMargin = OsdMargin; + Properties.Settings.Default.OsdRoundedCorners = OsdRoundedCorners; + Properties.Settings.Default.OsdTextColour = OsdTextColour; + Properties.Settings.Default.OsdBackColour = OsdBackColour; + Properties.Settings.Default.OsdOpacity = OsdOpacity; + Properties.Settings.Default.Save(); SaveAutoStartSetting(); diff --git a/LogiLockLED/LedThread.cs b/LogiLockLED/LedThread.cs index 9b5144c..0bc15ee 100644 --- a/LogiLockLED/LedThread.cs +++ b/LogiLockLED/LedThread.cs @@ -15,6 +15,7 @@ public class LedThread private Thread thread; private bool stopThread; private bool refreshRequired = false; + public event EventHandler KeylockUpdated; [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)] public static extern short GetKeyState(int keyCode); @@ -22,6 +23,7 @@ public class LedThread public LedThread(ref LedSettings settings) { ledSettings = settings; + } public void RestartThread() @@ -77,6 +79,7 @@ private void ThreadMain() bool prevCapsLock = (((ushort)GetKeyState(0x14)) & 0xffff) == 0; bool prevNumLock = (((ushort)GetKeyState(0x90)) & 0xffff) == 0; bool prevScrollLock = (((ushort)GetKeyState(0x91)) & 0xffff) == 0; + bool firstLoop = true; while (!stopThread) { @@ -85,37 +88,59 @@ private void ThreadMain() bool NumLock = (((ushort)GetKeyState(0x90)) & 0xffff) != 0; bool ScrollLock = (((ushort)GetKeyState(0x91)) & 0xffff) != 0; - if ((refreshRequired || prevNumLock != NumLock) && ledSettings.EnableNum) - { + if ((refreshRequired || prevNumLock != NumLock)) + { prevNumLock = NumLock; - if (NumLock) - LogiLedSetLightingForKeyWithKeyName(keyboardNames.NUM_LOCK, ledSettings.NumOnColour); - else - LogiLedSetLightingForKeyWithKeyName(keyboardNames.NUM_LOCK, ledSettings.NumOffColour); + + if(!firstLoop) + KeylockUpdated?.Invoke(this, new KeylockChangeArgs(LockKey.Num, NumLock)); + + if (ledSettings.EnableNum) + { + if (NumLock) + LogiLedSetLightingForKeyWithKeyName(keyboardNames.NUM_LOCK, ledSettings.NumOnColour); + else + LogiLedSetLightingForKeyWithKeyName(keyboardNames.NUM_LOCK, ledSettings.NumOffColour); + } } - if ((refreshRequired || prevCapsLock != CapsLock) && ledSettings.EnableCaps) + if ((refreshRequired || prevCapsLock != CapsLock)) { prevCapsLock = CapsLock; - if (CapsLock) - LogiLedSetLightingForKeyWithKeyName(keyboardNames.CAPS_LOCK, ledSettings.CapsOnColour); - else - LogiLedSetLightingForKeyWithKeyName(keyboardNames.CAPS_LOCK, ledSettings.CapsOffColour); + + if (!firstLoop) + KeylockUpdated?.Invoke(this, new KeylockChangeArgs(LockKey.Caps, CapsLock)); + + if (ledSettings.EnableCaps) + { + if (CapsLock) + LogiLedSetLightingForKeyWithKeyName(keyboardNames.CAPS_LOCK, ledSettings.CapsOnColour); + else + LogiLedSetLightingForKeyWithKeyName(keyboardNames.CAPS_LOCK, ledSettings.CapsOffColour); + } } - if ((refreshRequired || prevScrollLock != ScrollLock) && ledSettings.EnableScroll) + if ((refreshRequired || prevScrollLock != ScrollLock)) { prevScrollLock = ScrollLock; - if (ScrollLock) - LogiLedSetLightingForKeyWithKeyName(keyboardNames.SCROLL_LOCK, ledSettings.ScrollOnColour); - else - LogiLedSetLightingForKeyWithKeyName(keyboardNames.SCROLL_LOCK, ledSettings.ScrollOffColour); + + if (!firstLoop) + KeylockUpdated?.Invoke(this, new KeylockChangeArgs(LockKey.Scroll, ScrollLock)); + + if (ledSettings.EnableScroll) + { + if (ScrollLock) + LogiLedSetLightingForKeyWithKeyName(keyboardNames.SCROLL_LOCK, ledSettings.ScrollOnColour); + else + LogiLedSetLightingForKeyWithKeyName(keyboardNames.SCROLL_LOCK, ledSettings.ScrollOffColour); + } } refreshRequired = false; - Thread.Sleep(100); + firstLoop = false; + Thread.Sleep(75); } - LogitechGSDK.LogiLedShutdown(); + //LogitechGSDK.LogiLedShutdown(); } private static bool LogiLedSetLightingForKeyWithKeyName(keyboardNames keyCode, System.Drawing.Color color) @@ -123,4 +148,20 @@ private static bool LogiLedSetLightingForKeyWithKeyName(keyboardNames keyCode, S return LogitechGSDK.LogiLedSetLightingForKeyWithKeyName(keyCode, color.R * 100 / 255, color.G * 100 / 255, color.B * 100 / 255); } } + + public enum LockKey { Caps, Num, Scroll}; + + public class KeylockChangeArgs : EventArgs + { + public LockKey LockKey { get; set; } + public bool IsOn { get; set; } + + public KeylockChangeArgs(LockKey lockKey, bool isOn) + { + this.LockKey = lockKey; + this.IsOn = isOn; + } + + } + } diff --git a/LogiLockLED/LogiLockLED.csproj b/LogiLockLED/LogiLockLED.csproj index 2c39e86..0f428eb 100644 --- a/LogiLockLED/LogiLockLED.csproj +++ b/LogiLockLED/LogiLockLED.csproj @@ -53,8 +53,7 @@ false - - + LogiLockLED.ico DB700B4E29B3FC7EB40F17534E91D085E9467935 @@ -88,6 +87,12 @@ + + Form + + + IndicatorPopup.cs + Form @@ -103,6 +108,9 @@ ConfigurationForm.cs + + IndicatorPopup.cs + ResXFileCodeGenerator Designer @@ -144,6 +152,7 @@ + Always diff --git a/LogiLockLED/LogiLockLED.ico b/LogiLockLED/LogiLockLED.ico new file mode 100644 index 0000000000000000000000000000000000000000..bc11646eac573b1036a7eaf13779e12181c33c4b GIT binary patch literal 177136 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 literal 0 HcmV?d00001 diff --git a/LogiLockLED/LogiLockLEDApp.cs b/LogiLockLED/LogiLockLEDApp.cs index b659df6..d71b84a 100644 --- a/LogiLockLED/LogiLockLEDApp.cs +++ b/LogiLockLED/LogiLockLEDApp.cs @@ -9,8 +9,8 @@ class LogiLockLEDApp : ApplicationContext private readonly LedThread ledThread; private readonly NotifyIcon notifyIcon; private readonly ConfigurationForm configWindow; - private readonly LedSettings ledSettings; - + private readonly IndicatorPopup popupWindow; + private readonly LedSettings ledSettings; private readonly MenuItem configEnableItem; public LogiLockLEDApp() @@ -18,32 +18,49 @@ public LogiLockLEDApp() ledSettings = new LedSettings(); ledSettings.LoadSettings(); - ledThread = new LedThread(ref ledSettings); - ledThread.StartThread(); - configWindow = new ConfigurationForm(ref ledSettings); configWindow.SettingsUpdated += ConfigWindow_OnSettingsUpdated; + popupWindow = new IndicatorPopup(); + popupWindow.Configure(ledSettings); + //popupWindow.LoadForm(); - configEnableItem = new MenuItem("Enabled", new EventHandler(ToggleEnabled)); - configEnableItem.Checked = ledSettings.EnableKeyLockLEDs; - MenuItem configMenuItem = new MenuItem("Configuration", new EventHandler(ShowConfig)); - MenuItem exitMenuItem = new MenuItem("Exit", new EventHandler(Exit)); + ledThread = new LedThread(ref ledSettings); + ledThread.KeylockUpdated += ledThread_OnKeylockUpdated; + ledThread.StartThread(); + configEnableItem = new MenuItem("Enabled", new EventHandler(ToggleEnabled)) { + Checked = ledSettings.EnableKeyLockLEDs }; + notifyIcon = new NotifyIcon(); notifyIcon.Icon = Properties.Resources.appicon; - notifyIcon.ContextMenu = new ContextMenu(new MenuItem[] - { configEnableItem, configMenuItem, exitMenuItem }); + notifyIcon.ContextMenu = new ContextMenu(new MenuItem[]{ + new MenuItem("LogiLockLED") { Enabled = false}, + new MenuItem("-"), + configEnableItem, + new MenuItem("Configuration", new EventHandler(ShowConfig)), + new MenuItem("Exit", new EventHandler(Exit)) + }); notifyIcon.DoubleClick += ShowConfig; notifyIcon.Visible = true; - SystemEvents.PowerModeChanged += OnPowerModeChange; - } - + SystemEvents.PowerModeChanged += OnPowerModeChange; + } + + private void ledThread_OnKeylockUpdated(object sender, EventArgs e) + { + var args = (e as KeylockChangeArgs); + if (ledSettings.OsdEnabled) + { + popupWindow.Invoke(new Action(popupWindow.ShowLockState), args.LockKey, args.IsOn); + } + } private void ConfigWindow_OnSettingsUpdated(object sender, EventArgs e) { + popupWindow.Configure(ledSettings); ledThread.UpdateSettings(ledSettings); - } + + } private void ShowConfig(object sender, EventArgs e) { @@ -76,7 +93,7 @@ private void Exit(object sender, EventArgs e) this.ExitThread(); Application.Exit(); - } + } private void OnPowerModeChange(object s, PowerModeChangedEventArgs e) { diff --git a/LogiLockLED/Properties/Settings.Designer.cs b/LogiLockLED/Properties/Settings.Designer.cs index c313c0c..169226b 100644 --- a/LogiLockLED/Properties/Settings.Designer.cs +++ b/LogiLockLED/Properties/Settings.Designer.cs @@ -142,5 +142,113 @@ public bool EnableKeyLockLEDs { this["EnableKeyLockLEDs"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("Arial, 48pt, style=Bold, Italic")] + public global::System.Drawing.Font OsdFont { + get { + return ((global::System.Drawing.Font)(this["OsdFont"])); + } + set { + this["OsdFont"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("Centre")] + public string OsdPosition { + get { + return ((string)(this["OsdPosition"])); + } + set { + this["OsdPosition"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("8")] + public int OsdPadding { + get { + return ((int)(this["OsdPadding"])); + } + set { + this["OsdPadding"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("8")] + public int OsdMargin { + get { + return ((int)(this["OsdMargin"])); + } + set { + this["OsdMargin"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool OsdRoundedCorners { + get { + return ((bool)(this["OsdRoundedCorners"])); + } + set { + this["OsdRoundedCorners"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool OsdEnabled { + get { + return ((bool)(this["OsdEnabled"])); + } + set { + this["OsdEnabled"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("White")] + public global::System.Drawing.Color OsdTextColour { + get { + return ((global::System.Drawing.Color)(this["OsdTextColour"])); + } + set { + this["OsdTextColour"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("3, 3, 3")] + public global::System.Drawing.Color OsdBackColour { + get { + return ((global::System.Drawing.Color)(this["OsdBackColour"])); + } + set { + this["OsdBackColour"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("75")] + public int OsdOpacity { + get { + return ((int)(this["OsdOpacity"])); + } + set { + this["OsdOpacity"] = value; + } + } } } diff --git a/LogiLockLED/Properties/Settings.settings b/LogiLockLED/Properties/Settings.settings index 2225389..6f4b5cd 100644 --- a/LogiLockLED/Properties/Settings.settings +++ b/LogiLockLED/Properties/Settings.settings @@ -32,5 +32,32 @@ True + + Arial, 48pt, style=Bold, Italic + + + Centre + + + 8 + + + 8 + + + True + + + True + + + White + + + 3, 3, 3 + + + 75 + \ No newline at end of file diff --git a/LogiLockLED/Resources/appicon.ico b/LogiLockLED/Resources/appicon.ico index 8aa98e515dae1fd85d0df9997de54ed10730c400..fc28d0fd91abf3ccb4d79624a0f48643b9530c1c 100644 GIT binary patch literal 45054 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 MK0w^@|9L(B56*3^c>n+a literal 45451 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 I@_Fh10YBW>hyVZp diff --git a/Setup LogiLockLED/Setup LogiLockLED.vdproj b/Setup LogiLockLED/Setup LogiLockLED.vdproj index 97dadf4..e1d2a5b 100644 --- a/Setup LogiLockLED/Setup LogiLockLED.vdproj +++ b/Setup LogiLockLED/Setup LogiLockLED.vdproj @@ -220,7 +220,7 @@ "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:LogiLockLED" "ProductCode" = "8:{9D536C35-D614-42F1-8D8B-B6CD604EBF6A}" - "PackageCode" = "8:{01E03ACB-62FF-4EE2-9BA2-0C2940FC1895}" + "PackageCode" = "8:{EB25EC29-C4A5-4B5F-89ED-568735D0C0F8}" "UpgradeCode" = "8:{78AFA0F5-6764-47BF-AB9E-B70F753BFF36}" "AspNetVersion" = "8:4.0.30319.0" "RestartWWWService" = "11:FALSE" @@ -819,7 +819,7 @@ { "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_07E4DEC6E9E3405884DB88A2424013E6" { - "SourcePath" = "8:..\\LogiLockLED\\obj\\Release\\LogiLockLED.exe" + "SourcePath" = "8:..\\LogiLockLED\\obj\\Debug\\LogiLockLED.exe" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_36D160D8655A4CDC84075D1F1CDB81FE"