From 378d81bafe841e60ba8a0d6d960336a70dd5741e Mon Sep 17 00:00:00 2001 From: IceStormNG Date: Sun, 23 Jul 2023 18:37:30 +0200 Subject: [PATCH] Added UI to change ASUS mouse settings. --- app/AsusMouseSettings.Designer.cs | 1045 +++++++++++++++++ app/AsusMouseSettings.cs | 569 +++++++++ app/AsusMouseSettings.resx | 120 ++ app/Properties/Resources.Designer.cs | 64 +- app/Properties/Resources.resx | 18 + app/Properties/Strings.Designer.cs | 193 ++- app/Properties/Strings.resx | 63 + .../icons8-batterie-voll-geladen-48.png | Bin 0 -> 262 bytes app/Resources/icons8-ladende-batterie-48.png | Bin 0 -> 410 bytes app/Resources/icons8-mauszeiger-50.png | Bin 0 -> 498 bytes app/Resources/lighting_dot_24.png | Bin 0 -> 2408 bytes app/Resources/lighting_dot_32.png | Bin 0 -> 2521 bytes app/Resources/lighting_dot_48.png | Bin 0 -> 3056 bytes app/Settings.cs | 26 +- 14 files changed, 2093 insertions(+), 5 deletions(-) create mode 100644 app/AsusMouseSettings.Designer.cs create mode 100644 app/AsusMouseSettings.cs create mode 100644 app/AsusMouseSettings.resx create mode 100644 app/Resources/icons8-batterie-voll-geladen-48.png create mode 100644 app/Resources/icons8-ladende-batterie-48.png create mode 100644 app/Resources/icons8-mauszeiger-50.png create mode 100644 app/Resources/lighting_dot_24.png create mode 100644 app/Resources/lighting_dot_32.png create mode 100644 app/Resources/lighting_dot_48.png diff --git a/app/AsusMouseSettings.Designer.cs b/app/AsusMouseSettings.Designer.cs new file mode 100644 index 00000000..3cbed06e --- /dev/null +++ b/app/AsusMouseSettings.Designer.cs @@ -0,0 +1,1045 @@ +namespace GHelper +{ + partial class AsusMouseSettings + { + /// + /// 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() + { + panelProfiles = new Panel(); + comboProfile = new UI.RComboBox(); + labelProfile = new Label(); + panelPerformance = new Panel(); + panelPerformanceOther = new Panel(); + comboBoxLiftOffDistance = new UI.RComboBox(); + labelLiftOffDistance = new Label(); + labelAngleAdjustmentValue = new Label(); + sliderAngleAdjustment = new UI.Slider(); + checkBoxAngleSnapping = new CheckBox(); + comboBoxPollingRate = new UI.RComboBox(); + labelPollingRate = new Label(); + panelDPISettings = new Panel(); + sliderDPI = new UI.Slider(); + tableLayoutPanel1 = new TableLayoutPanel(); + labelMinDPI = new Label(); + labelDPIValue = new Label(); + labelMaxDPI = new Label(); + panelDPITile = new Panel(); + pictureDPIColor = new PictureBox(); + buttonDPIColor = new UI.RButton(); + labelDPI = new Label(); + tableDPI = new TableLayoutPanel(); + buttonDPI2 = new UI.RButton(); + buttonDPI1 = new UI.RButton(); + buttonDPI3 = new UI.RButton(); + buttonDPI4 = new UI.RButton(); + panelPerformanceHeader = new Panel(); + pictureKeyboard = new PictureBox(); + labelPerformance = new Label(); + panelLighting = new Panel(); + panelLightingContent = new Panel(); + comboBoxAnimationDirection = new UI.RComboBox(); + labelAnimationDirection = new Label(); + checkBoxRandomColor = new CheckBox(); + comboBoxAnimationSpeed = new UI.RComboBox(); + labelAnimationSpeed = new Label(); + pictureBoxLightingColor = new PictureBox(); + buttonLightingColor = new UI.RButton(); + comboBoxLightingMode = new UI.RComboBox(); + labelLightingMode = new Label(); + panelLightingHeader = new Panel(); + sliderBrightness = new UI.Slider(); + pictureBoxLighting = new PictureBox(); + labelLighting = new Label(); + panelEnergy = new Panel(); + labelLowBatteryWarningValue = new Label(); + comboBoxAutoPowerOff = new UI.RComboBox(); + sliderLowBatteryWarning = new UI.Slider(); + labelLowBatteryWarning = new Label(); + labelAutoPowerOff = new Label(); + panelEnergyHeader = new Panel(); + pictureBoxEnergy = new PictureBox(); + labelEnergy = new Label(); + tableLayoutProfiles = new TableLayoutPanel(); + panelBatteryState = new Panel(); + labelChargingState = new Label(); + labelBatteryState = new Label(); + pictureBoxBatteryState = new PictureBox(); + buttonSync = new UI.RButton(); + panelBottomButtons = new Panel(); + panelProfiles.SuspendLayout(); + panelPerformance.SuspendLayout(); + panelPerformanceOther.SuspendLayout(); + panelDPISettings.SuspendLayout(); + tableLayoutPanel1.SuspendLayout(); + panelDPITile.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)pictureDPIColor).BeginInit(); + tableDPI.SuspendLayout(); + panelPerformanceHeader.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)pictureKeyboard).BeginInit(); + panelLighting.SuspendLayout(); + panelLightingContent.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)pictureBoxLightingColor).BeginInit(); + panelLightingHeader.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)pictureBoxLighting).BeginInit(); + panelEnergy.SuspendLayout(); + panelEnergyHeader.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)pictureBoxEnergy).BeginInit(); + tableLayoutProfiles.SuspendLayout(); + panelBatteryState.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)pictureBoxBatteryState).BeginInit(); + panelBottomButtons.SuspendLayout(); + SuspendLayout(); + // + // panelProfiles + // + panelProfiles.Controls.Add(comboProfile); + panelProfiles.Controls.Add(labelProfile); + panelProfiles.Location = new Point(330, 3); + panelProfiles.MinimumSize = new Size(340, 0); + panelProfiles.Name = "panelProfiles"; + panelProfiles.Size = new Size(340, 51); + panelProfiles.TabIndex = 0; + // + // comboProfile + // + comboProfile.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right; + comboProfile.BorderColor = Color.White; + comboProfile.ButtonColor = Color.FromArgb(255, 255, 255); + comboProfile.DropDownStyle = ComboBoxStyle.DropDownList; + comboProfile.FlatStyle = FlatStyle.Flat; + comboProfile.FormattingEnabled = true; + comboProfile.Location = new Point(98, 10); + comboProfile.Margin = new Padding(0); + comboProfile.Name = "comboProfile"; + comboProfile.Size = new Size(228, 33); + comboProfile.TabIndex = 43; + // + // labelProfile + // + labelProfile.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; + labelProfile.AutoSize = true; + labelProfile.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); + labelProfile.Location = new Point(3, 13); + labelProfile.Name = "labelProfile"; + labelProfile.Size = new Size(68, 25); + labelProfile.TabIndex = 41; + labelProfile.Text = "Profile"; + // + // panelPerformance + // + panelPerformance.AutoSize = true; + panelPerformance.Controls.Add(panelPerformanceOther); + panelPerformance.Controls.Add(panelDPISettings); + panelPerformance.Controls.Add(tableDPI); + panelPerformance.Controls.Add(panelPerformanceHeader); + panelPerformance.Dock = DockStyle.Top; + panelPerformance.Location = new Point(11, 68); + panelPerformance.Name = "panelPerformance"; + panelPerformance.Padding = new Padding(0, 11, 0, 25); + panelPerformance.Size = new Size(654, 401); + panelPerformance.TabIndex = 1; + // + // panelPerformanceOther + // + panelPerformanceOther.AutoSize = true; + panelPerformanceOther.AutoSizeMode = AutoSizeMode.GrowAndShrink; + panelPerformanceOther.Controls.Add(comboBoxLiftOffDistance); + panelPerformanceOther.Controls.Add(labelLiftOffDistance); + panelPerformanceOther.Controls.Add(labelAngleAdjustmentValue); + panelPerformanceOther.Controls.Add(sliderAngleAdjustment); + panelPerformanceOther.Controls.Add(checkBoxAngleSnapping); + panelPerformanceOther.Controls.Add(comboBoxPollingRate); + panelPerformanceOther.Controls.Add(labelPollingRate); + panelPerformanceOther.Dock = DockStyle.Top; + panelPerformanceOther.Location = new Point(0, 233); + panelPerformanceOther.Name = "panelPerformanceOther"; + panelPerformanceOther.Padding = new Padding(0, 11, 0, 11); + panelPerformanceOther.Size = new Size(654, 143); + panelPerformanceOther.TabIndex = 49; + // + // comboBoxLiftOffDistance + // + comboBoxLiftOffDistance.BorderColor = Color.White; + comboBoxLiftOffDistance.ButtonColor = Color.FromArgb(255, 255, 255); + comboBoxLiftOffDistance.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxLiftOffDistance.FlatStyle = FlatStyle.Flat; + comboBoxLiftOffDistance.FormattingEnabled = true; + comboBoxLiftOffDistance.Location = new Point(368, 99); + comboBoxLiftOffDistance.Margin = new Padding(16, 0, 16, 0); + comboBoxLiftOffDistance.Name = "comboBoxLiftOffDistance"; + comboBoxLiftOffDistance.Size = new Size(281, 33); + comboBoxLiftOffDistance.TabIndex = 49; + // + // labelLiftOffDistance + // + labelLiftOffDistance.Location = new Point(6, 99); + labelLiftOffDistance.Margin = new Padding(6, 0, 6, 0); + labelLiftOffDistance.Name = "labelLiftOffDistance"; + labelLiftOffDistance.Size = new Size(348, 33); + labelLiftOffDistance.TabIndex = 48; + labelLiftOffDistance.Text = "Lift Off Distance"; + // + // labelAngleAdjustmentValue + // + labelAngleAdjustmentValue.Location = new Point(598, 61); + labelAngleAdjustmentValue.Margin = new Padding(6, 0, 6, 0); + labelAngleAdjustmentValue.Name = "labelAngleAdjustmentValue"; + labelAngleAdjustmentValue.Size = new Size(48, 30); + labelAngleAdjustmentValue.TabIndex = 47; + labelAngleAdjustmentValue.Text = "0°"; + labelAngleAdjustmentValue.TextAlign = ContentAlignment.MiddleRight; + // + // sliderAngleAdjustment + // + sliderAngleAdjustment.AccessibleName = "DPI Slider"; + sliderAngleAdjustment.Location = new Point(397, 61); + sliderAngleAdjustment.Max = 20; + sliderAngleAdjustment.Min = -20; + sliderAngleAdjustment.Name = "sliderAngleAdjustment"; + sliderAngleAdjustment.Size = new Size(208, 30); + sliderAngleAdjustment.Step = 5; + sliderAngleAdjustment.TabIndex = 46; + sliderAngleAdjustment.TabStop = false; + sliderAngleAdjustment.Text = "sliderBattery"; + sliderAngleAdjustment.Value = 0; + // + // checkBoxAngleSnapping + // + checkBoxAngleSnapping.CheckAlign = ContentAlignment.MiddleRight; + checkBoxAngleSnapping.Location = new Point(6, 61); + checkBoxAngleSnapping.Margin = new Padding(6, 0, 6, 0); + checkBoxAngleSnapping.Name = "checkBoxAngleSnapping"; + checkBoxAngleSnapping.Size = new Size(384, 30); + checkBoxAngleSnapping.TabIndex = 45; + checkBoxAngleSnapping.Text = "Angle Snapping"; + checkBoxAngleSnapping.TextAlign = ContentAlignment.TopLeft; + checkBoxAngleSnapping.UseVisualStyleBackColor = true; + // + // comboBoxPollingRate + // + comboBoxPollingRate.BorderColor = Color.White; + comboBoxPollingRate.ButtonColor = Color.FromArgb(255, 255, 255); + comboBoxPollingRate.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxPollingRate.FlatStyle = FlatStyle.Flat; + comboBoxPollingRate.FormattingEnabled = true; + comboBoxPollingRate.Location = new Point(368, 8); + comboBoxPollingRate.Margin = new Padding(16, 0, 16, 0); + comboBoxPollingRate.Name = "comboBoxPollingRate"; + comboBoxPollingRate.Size = new Size(281, 33); + comboBoxPollingRate.TabIndex = 44; + // + // labelPollingRate + // + labelPollingRate.Location = new Point(6, 9); + labelPollingRate.Margin = new Padding(6, 0, 6, 0); + labelPollingRate.Name = "labelPollingRate"; + labelPollingRate.Size = new Size(348, 30); + labelPollingRate.TabIndex = 45; + labelPollingRate.Text = "Polling Rate"; + // + // panelDPISettings + // + panelDPISettings.AutoSize = true; + panelDPISettings.AutoSizeMode = AutoSizeMode.GrowAndShrink; + panelDPISettings.Controls.Add(sliderDPI); + panelDPISettings.Controls.Add(tableLayoutPanel1); + panelDPISettings.Controls.Add(panelDPITile); + panelDPISettings.Dock = DockStyle.Top; + panelDPISettings.Location = new Point(0, 137); + panelDPISettings.Name = "panelDPISettings"; + panelDPISettings.Size = new Size(654, 96); + panelDPISettings.TabIndex = 44; + // + // sliderDPI + // + sliderDPI.AccessibleName = "DPI Slider"; + sliderDPI.Dock = DockStyle.Top; + sliderDPI.Location = new Point(0, 66); + sliderDPI.Max = 35000; + sliderDPI.Min = 100; + sliderDPI.Name = "sliderDPI"; + sliderDPI.Size = new Size(654, 30); + sliderDPI.Step = 50; + sliderDPI.TabIndex = 43; + sliderDPI.TabStop = false; + sliderDPI.Text = "sliderBattery"; + sliderDPI.Value = 2000; + // + // tableLayoutPanel1 + // + tableLayoutPanel1.AutoSize = true; + tableLayoutPanel1.AutoSizeMode = AutoSizeMode.GrowAndShrink; + tableLayoutPanel1.ColumnCount = 3; + tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.3333321F)); + tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.3333321F)); + tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 33.3333321F)); + tableLayoutPanel1.Controls.Add(labelMinDPI, 0, 0); + tableLayoutPanel1.Controls.Add(labelDPIValue, 1, 0); + tableLayoutPanel1.Controls.Add(labelMaxDPI, 2, 0); + tableLayoutPanel1.Dock = DockStyle.Top; + tableLayoutPanel1.GrowStyle = TableLayoutPanelGrowStyle.FixedSize; + tableLayoutPanel1.Location = new Point(0, 40); + tableLayoutPanel1.Name = "tableLayoutPanel1"; + tableLayoutPanel1.RowCount = 1; + tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F)); + tableLayoutPanel1.Size = new Size(654, 26); + tableLayoutPanel1.TabIndex = 47; + // + // labelMinDPI + // + labelMinDPI.ForeColor = SystemColors.GrayText; + labelMinDPI.Location = new Point(6, 0); + labelMinDPI.Margin = new Padding(6, 0, 6, 0); + labelMinDPI.Name = "labelMinDPI"; + labelMinDPI.Size = new Size(105, 26); + labelMinDPI.TabIndex = 45; + labelMinDPI.Text = "100"; + // + // labelDPIValue + // + labelDPIValue.Anchor = AnchorStyles.Top; + labelDPIValue.Location = new Point(271, 0); + labelDPIValue.Margin = new Padding(6, 0, 6, 0); + labelDPIValue.Name = "labelDPIValue"; + labelDPIValue.Size = new Size(111, 26); + labelDPIValue.TabIndex = 44; + labelDPIValue.Text = "2000"; + labelDPIValue.TextAlign = ContentAlignment.TopCenter; + // + // labelMaxDPI + // + labelMaxDPI.Anchor = AnchorStyles.Top | AnchorStyles.Right; + labelMaxDPI.ForeColor = SystemColors.GrayText; + labelMaxDPI.Location = new Point(543, 0); + labelMaxDPI.Margin = new Padding(6, 0, 6, 0); + labelMaxDPI.Name = "labelMaxDPI"; + labelMaxDPI.Size = new Size(105, 26); + labelMaxDPI.TabIndex = 46; + labelMaxDPI.Text = " 35000"; + labelMaxDPI.TextAlign = ContentAlignment.TopRight; + // + // panelDPITile + // + panelDPITile.Controls.Add(pictureDPIColor); + panelDPITile.Controls.Add(buttonDPIColor); + panelDPITile.Controls.Add(labelDPI); + panelDPITile.Dock = DockStyle.Top; + panelDPITile.Location = new Point(0, 0); + panelDPITile.Name = "panelDPITile"; + panelDPITile.Padding = new Padding(0, 5, 0, 5); + panelDPITile.Size = new Size(654, 40); + panelDPITile.TabIndex = 48; + // + // pictureDPIColor + // + pictureDPIColor.Anchor = AnchorStyles.Top | AnchorStyles.Right; + pictureDPIColor.Location = new Point(617, 11); + pictureDPIColor.Margin = new Padding(6); + pictureDPIColor.Name = "pictureDPIColor"; + pictureDPIColor.Size = new Size(15, 15); + pictureDPIColor.TabIndex = 46; + pictureDPIColor.TabStop = false; + // + // buttonDPIColor + // + buttonDPIColor.AccessibleName = "Keyboard Color"; + buttonDPIColor.Activated = false; + buttonDPIColor.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right; + buttonDPIColor.AutoSize = true; + buttonDPIColor.BackColor = SystemColors.ButtonHighlight; + buttonDPIColor.BorderColor = Color.Transparent; + buttonDPIColor.BorderRadius = 2; + buttonDPIColor.FlatStyle = FlatStyle.Flat; + buttonDPIColor.ForeColor = SystemColors.ControlText; + buttonDPIColor.Location = new Point(460, 1); + buttonDPIColor.Margin = new Padding(3, 6, 3, 6); + buttonDPIColor.Name = "buttonDPIColor"; + buttonDPIColor.Secondary = false; + buttonDPIColor.Size = new Size(191, 37); + buttonDPIColor.TabIndex = 45; + buttonDPIColor.Text = Properties.Strings.Color; + buttonDPIColor.UseVisualStyleBackColor = false; + // + // labelDPI + // + labelDPI.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; + labelDPI.AutoSize = true; + labelDPI.Font = new Font("Segoe UI", 9F, FontStyle.Regular, GraphicsUnit.Point); + labelDPI.Location = new Point(6, 5); + labelDPI.Margin = new Padding(6, 0, 6, 0); + labelDPI.Name = "labelDPI"; + labelDPI.Size = new Size(40, 25); + labelDPI.TabIndex = 34; + labelDPI.Text = "DPI"; + // + // tableDPI + // + tableDPI.AutoSize = true; + tableDPI.AutoSizeMode = AutoSizeMode.GrowAndShrink; + tableDPI.ColumnCount = 4; + tableDPI.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); + tableDPI.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); + tableDPI.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); + tableDPI.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 25F)); + tableDPI.Controls.Add(buttonDPI2, 0, 0); + tableDPI.Controls.Add(buttonDPI1, 0, 0); + tableDPI.Controls.Add(buttonDPI3, 1, 0); + tableDPI.Controls.Add(buttonDPI4, 2, 0); + tableDPI.Dock = DockStyle.Top; + tableDPI.Location = new Point(0, 41); + tableDPI.Margin = new Padding(6, 3, 6, 3); + tableDPI.Name = "tableDPI"; + tableDPI.RowCount = 1; + tableDPI.RowStyles.Add(new RowStyle(SizeType.Absolute, 96F)); + tableDPI.RowStyles.Add(new RowStyle(SizeType.Absolute, 96F)); + tableDPI.Size = new Size(654, 96); + tableDPI.TabIndex = 42; + // + // buttonDPI2 + // + buttonDPI2.AccessibleName = "DPI Setting 2"; + buttonDPI2.Activated = false; + buttonDPI2.BackColor = SystemColors.ControlLightLight; + buttonDPI2.BorderColor = Color.Transparent; + buttonDPI2.BorderRadius = 5; + buttonDPI2.Dock = DockStyle.Top; + buttonDPI2.FlatAppearance.BorderSize = 0; + buttonDPI2.FlatStyle = FlatStyle.Flat; + buttonDPI2.ForeColor = SystemColors.ControlText; + buttonDPI2.Image = Properties.Resources.lighting_dot_32; + buttonDPI2.ImageAlign = ContentAlignment.BottomCenter; + buttonDPI2.Location = new Point(166, 3); + buttonDPI2.Name = "buttonDPI2"; + buttonDPI2.Secondary = false; + buttonDPI2.Size = new Size(157, 90); + buttonDPI2.TabIndex = 4; + buttonDPI2.Text = "DPI 2\r\n1000"; + buttonDPI2.TextImageRelation = TextImageRelation.ImageAboveText; + buttonDPI2.UseVisualStyleBackColor = false; + // + // buttonDPI1 + // + buttonDPI1.AccessibleName = "DPI Setting 1"; + buttonDPI1.Activated = false; + buttonDPI1.BackColor = SystemColors.ControlLightLight; + buttonDPI1.BorderColor = Color.Transparent; + buttonDPI1.BorderRadius = 5; + buttonDPI1.CausesValidation = false; + buttonDPI1.Dock = DockStyle.Top; + buttonDPI1.FlatAppearance.BorderSize = 0; + buttonDPI1.FlatStyle = FlatStyle.Flat; + buttonDPI1.ForeColor = SystemColors.ControlText; + buttonDPI1.Image = Properties.Resources.lighting_dot_32; + buttonDPI1.Location = new Point(3, 3); + buttonDPI1.Name = "buttonDPI1"; + buttonDPI1.Secondary = false; + buttonDPI1.Size = new Size(157, 90); + buttonDPI1.TabIndex = 4; + buttonDPI1.Text = "DPI 1\r\n800"; + buttonDPI1.TextImageRelation = TextImageRelation.ImageAboveText; + buttonDPI1.UseVisualStyleBackColor = false; + // + // buttonDPI3 + // + buttonDPI3.AccessibleName = "DPI Setting 3"; + buttonDPI3.Activated = false; + buttonDPI3.BackColor = SystemColors.ControlLightLight; + buttonDPI3.BorderColor = Color.Transparent; + buttonDPI3.BorderRadius = 5; + buttonDPI3.Dock = DockStyle.Top; + buttonDPI3.FlatAppearance.BorderSize = 0; + buttonDPI3.FlatStyle = FlatStyle.Flat; + buttonDPI3.ForeColor = SystemColors.ControlText; + buttonDPI3.Image = Properties.Resources.lighting_dot_32; + buttonDPI3.ImageAlign = ContentAlignment.BottomCenter; + buttonDPI3.Location = new Point(329, 3); + buttonDPI3.Name = "buttonDPI3"; + buttonDPI3.Secondary = false; + buttonDPI3.Size = new Size(157, 90); + buttonDPI3.TabIndex = 5; + buttonDPI3.Text = "DPI 3\r\n1200"; + buttonDPI3.TextImageRelation = TextImageRelation.ImageAboveText; + buttonDPI3.UseVisualStyleBackColor = false; + // + // buttonDPI4 + // + buttonDPI4.AccessibleName = "DPI Setting 4"; + buttonDPI4.Activated = false; + buttonDPI4.BackColor = SystemColors.ControlLightLight; + buttonDPI4.BorderColor = Color.Transparent; + buttonDPI4.BorderRadius = 5; + buttonDPI4.Dock = DockStyle.Top; + buttonDPI4.FlatAppearance.BorderSize = 0; + buttonDPI4.FlatStyle = FlatStyle.Flat; + buttonDPI4.ForeColor = SystemColors.ControlText; + buttonDPI4.Image = Properties.Resources.lighting_dot_32; + buttonDPI4.ImageAlign = ContentAlignment.BottomCenter; + buttonDPI4.Location = new Point(492, 3); + buttonDPI4.Name = "buttonDPI4"; + buttonDPI4.Secondary = false; + buttonDPI4.Size = new Size(159, 90); + buttonDPI4.TabIndex = 6; + buttonDPI4.Text = "DPI 4\r\n1400"; + buttonDPI4.TextImageRelation = TextImageRelation.ImageAboveText; + buttonDPI4.UseVisualStyleBackColor = false; + // + // panelPerformanceHeader + // + panelPerformanceHeader.BackColor = SystemColors.ControlLight; + panelPerformanceHeader.Controls.Add(pictureKeyboard); + panelPerformanceHeader.Controls.Add(labelPerformance); + panelPerformanceHeader.Dock = DockStyle.Top; + panelPerformanceHeader.Location = new Point(0, 11); + panelPerformanceHeader.Name = "panelPerformanceHeader"; + panelPerformanceHeader.Size = new Size(654, 30); + panelPerformanceHeader.TabIndex = 41; + // + // pictureKeyboard + // + pictureKeyboard.BackgroundImage = Properties.Resources.icons8_mauszeiger_50; + pictureKeyboard.BackgroundImageLayout = ImageLayout.Zoom; + pictureKeyboard.Location = new Point(4, 0); + pictureKeyboard.Name = "pictureKeyboard"; + pictureKeyboard.Size = new Size(24, 24); + pictureKeyboard.TabIndex = 35; + pictureKeyboard.TabStop = false; + // + // labelPerformance + // + labelPerformance.AutoSize = true; + labelPerformance.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); + labelPerformance.Location = new Point(33, 0); + labelPerformance.Margin = new Padding(6, 0, 6, 0); + labelPerformance.Name = "labelPerformance"; + labelPerformance.Size = new Size(120, 25); + labelPerformance.TabIndex = 34; + labelPerformance.Text = "Performance"; + // + // panelLighting + // + panelLighting.AutoSize = true; + panelLighting.AutoSizeMode = AutoSizeMode.GrowAndShrink; + panelLighting.Controls.Add(panelLightingContent); + panelLighting.Controls.Add(panelLightingHeader); + panelLighting.Dock = DockStyle.Top; + panelLighting.Location = new Point(11, 469); + panelLighting.Name = "panelLighting"; + panelLighting.Padding = new Padding(0, 0, 0, 25); + panelLighting.Size = new Size(654, 271); + panelLighting.TabIndex = 42; + // + // panelLightingContent + // + panelLightingContent.AutoSize = true; + panelLightingContent.Controls.Add(comboBoxAnimationDirection); + panelLightingContent.Controls.Add(labelAnimationDirection); + panelLightingContent.Controls.Add(checkBoxRandomColor); + panelLightingContent.Controls.Add(comboBoxAnimationSpeed); + panelLightingContent.Controls.Add(labelAnimationSpeed); + panelLightingContent.Controls.Add(pictureBoxLightingColor); + panelLightingContent.Controls.Add(buttonLightingColor); + panelLightingContent.Controls.Add(comboBoxLightingMode); + panelLightingContent.Controls.Add(labelLightingMode); + panelLightingContent.Dock = DockStyle.Top; + panelLightingContent.Location = new Point(0, 30); + panelLightingContent.Name = "panelLightingContent"; + panelLightingContent.Padding = new Padding(0, 0, 0, 11); + panelLightingContent.Size = new Size(654, 216); + panelLightingContent.TabIndex = 42; + // + // comboBoxAnimationDirection + // + comboBoxAnimationDirection.BorderColor = Color.White; + comboBoxAnimationDirection.ButtonColor = Color.FromArgb(255, 255, 255); + comboBoxAnimationDirection.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxAnimationDirection.FlatStyle = FlatStyle.Flat; + comboBoxAnimationDirection.FormattingEnabled = true; + comboBoxAnimationDirection.Location = new Point(366, 172); + comboBoxAnimationDirection.Margin = new Padding(16, 0, 16, 0); + comboBoxAnimationDirection.Name = "comboBoxAnimationDirection"; + comboBoxAnimationDirection.Size = new Size(284, 33); + comboBoxAnimationDirection.TabIndex = 54; + // + // labelAnimationDirection + // + labelAnimationDirection.Location = new Point(6, 172); + labelAnimationDirection.Margin = new Padding(6, 0, 6, 0); + labelAnimationDirection.Name = "labelAnimationDirection"; + labelAnimationDirection.Size = new Size(316, 33); + labelAnimationDirection.TabIndex = 55; + labelAnimationDirection.Text = "Animation Direction"; + // + // checkBoxRandomColor + // + checkBoxRandomColor.Location = new Point(520, 53); + checkBoxRandomColor.Margin = new Padding(6, 0, 6, 0); + checkBoxRandomColor.Name = "checkBoxRandomColor"; + checkBoxRandomColor.Size = new Size(128, 37); + checkBoxRandomColor.TabIndex = 53; + checkBoxRandomColor.Text = "Random"; + checkBoxRandomColor.UseVisualStyleBackColor = true; + // + // comboBoxAnimationSpeed + // + comboBoxAnimationSpeed.BorderColor = Color.White; + comboBoxAnimationSpeed.ButtonColor = Color.FromArgb(255, 255, 255); + comboBoxAnimationSpeed.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxAnimationSpeed.FlatStyle = FlatStyle.Flat; + comboBoxAnimationSpeed.FormattingEnabled = true; + comboBoxAnimationSpeed.Location = new Point(366, 130); + comboBoxAnimationSpeed.Margin = new Padding(16, 0, 16, 0); + comboBoxAnimationSpeed.Name = "comboBoxAnimationSpeed"; + comboBoxAnimationSpeed.Size = new Size(284, 33); + comboBoxAnimationSpeed.TabIndex = 51; + // + // labelAnimationSpeed + // + labelAnimationSpeed.Location = new Point(6, 130); + labelAnimationSpeed.Margin = new Padding(6, 0, 6, 0); + labelAnimationSpeed.Name = "labelAnimationSpeed"; + labelAnimationSpeed.Size = new Size(316, 33); + labelAnimationSpeed.TabIndex = 52; + labelAnimationSpeed.Text = "Animation Speed"; + // + // pictureBoxLightingColor + // + pictureBoxLightingColor.Anchor = AnchorStyles.Top | AnchorStyles.Right; + pictureBoxLightingColor.Location = new Point(480, 62); + pictureBoxLightingColor.Margin = new Padding(6); + pictureBoxLightingColor.Name = "pictureBoxLightingColor"; + pictureBoxLightingColor.Size = new Size(20, 20); + pictureBoxLightingColor.TabIndex = 50; + pictureBoxLightingColor.TabStop = false; + // + // buttonLightingColor + // + buttonLightingColor.AccessibleName = "Keyboard Color"; + buttonLightingColor.Activated = false; + buttonLightingColor.Anchor = AnchorStyles.Top | AnchorStyles.Right; + buttonLightingColor.BackColor = SystemColors.ButtonHighlight; + buttonLightingColor.BorderColor = Color.Transparent; + buttonLightingColor.BorderRadius = 2; + buttonLightingColor.FlatStyle = FlatStyle.Flat; + buttonLightingColor.ForeColor = SystemColors.ControlText; + buttonLightingColor.Location = new Point(373, 53); + buttonLightingColor.Margin = new Padding(3, 6, 3, 6); + buttonLightingColor.Name = "buttonLightingColor"; + buttonLightingColor.Secondary = false; + buttonLightingColor.Size = new Size(141, 37); + buttonLightingColor.TabIndex = 49; + buttonLightingColor.Text = Properties.Strings.Color; + buttonLightingColor.TextAlign = ContentAlignment.MiddleLeft; + buttonLightingColor.UseVisualStyleBackColor = false; + // + // comboBoxLightingMode + // + comboBoxLightingMode.BorderColor = Color.White; + comboBoxLightingMode.ButtonColor = Color.FromArgb(255, 255, 255); + comboBoxLightingMode.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxLightingMode.FlatStyle = FlatStyle.Flat; + comboBoxLightingMode.FormattingEnabled = true; + comboBoxLightingMode.Location = new Point(367, 14); + comboBoxLightingMode.Margin = new Padding(16, 0, 16, 0); + comboBoxLightingMode.Name = "comboBoxLightingMode"; + comboBoxLightingMode.Size = new Size(284, 33); + comboBoxLightingMode.TabIndex = 46; + // + // labelLightingMode + // + labelLightingMode.Location = new Point(7, 14); + labelLightingMode.Margin = new Padding(6, 0, 6, 0); + labelLightingMode.Name = "labelLightingMode"; + labelLightingMode.Size = new Size(316, 33); + labelLightingMode.TabIndex = 47; + labelLightingMode.Text = "Lighting Mode"; + // + // panelLightingHeader + // + panelLightingHeader.BackColor = SystemColors.ControlLight; + panelLightingHeader.Controls.Add(sliderBrightness); + panelLightingHeader.Controls.Add(pictureBoxLighting); + panelLightingHeader.Controls.Add(labelLighting); + panelLightingHeader.Dock = DockStyle.Top; + panelLightingHeader.Location = new Point(0, 0); + panelLightingHeader.Name = "panelLightingHeader"; + panelLightingHeader.Size = new Size(654, 30); + panelLightingHeader.TabIndex = 41; + // + // sliderBrightness + // + sliderBrightness.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right; + sliderBrightness.Location = new Point(367, 1); + sliderBrightness.Margin = new Padding(2); + sliderBrightness.Max = 100; + sliderBrightness.Min = 0; + sliderBrightness.Name = "sliderBrightness"; + sliderBrightness.Size = new Size(283, 27); + sliderBrightness.Step = 1; + sliderBrightness.TabIndex = 51; + sliderBrightness.Text = "sliderBrightness"; + sliderBrightness.Value = 25; + // + // pictureBoxLighting + // + pictureBoxLighting.BackgroundImage = Properties.Resources.backlight; + pictureBoxLighting.BackgroundImageLayout = ImageLayout.Zoom; + pictureBoxLighting.Location = new Point(4, 0); + pictureBoxLighting.Name = "pictureBoxLighting"; + pictureBoxLighting.Size = new Size(24, 24); + pictureBoxLighting.TabIndex = 35; + pictureBoxLighting.TabStop = false; + // + // labelLighting + // + labelLighting.AutoSize = true; + labelLighting.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); + labelLighting.Location = new Point(33, 0); + labelLighting.Margin = new Padding(6, 0, 6, 0); + labelLighting.Name = "labelLighting"; + labelLighting.Size = new Size(82, 25); + labelLighting.TabIndex = 34; + labelLighting.Text = "Lighting"; + // + // panelEnergy + // + panelEnergy.AutoSize = true; + panelEnergy.AutoSizeMode = AutoSizeMode.GrowAndShrink; + panelEnergy.Controls.Add(labelLowBatteryWarningValue); + panelEnergy.Controls.Add(comboBoxAutoPowerOff); + panelEnergy.Controls.Add(sliderLowBatteryWarning); + panelEnergy.Controls.Add(labelLowBatteryWarning); + panelEnergy.Controls.Add(labelAutoPowerOff); + panelEnergy.Controls.Add(panelEnergyHeader); + panelEnergy.Dock = DockStyle.Top; + panelEnergy.Location = new Point(11, 740); + panelEnergy.Name = "panelEnergy"; + panelEnergy.Padding = new Padding(0, 0, 0, 25); + panelEnergy.Size = new Size(654, 143); + panelEnergy.TabIndex = 43; + // + // labelLowBatteryWarningValue + // + labelLowBatteryWarningValue.Location = new Point(601, 85); + labelLowBatteryWarningValue.Margin = new Padding(6, 0, 6, 0); + labelLowBatteryWarningValue.Name = "labelLowBatteryWarningValue"; + labelLowBatteryWarningValue.Size = new Size(48, 30); + labelLowBatteryWarningValue.TabIndex = 51; + labelLowBatteryWarningValue.Text = "20%"; + labelLowBatteryWarningValue.TextAlign = ContentAlignment.MiddleRight; + // + // comboBoxAutoPowerOff + // + comboBoxAutoPowerOff.BorderColor = Color.White; + comboBoxAutoPowerOff.ButtonColor = Color.FromArgb(255, 255, 255); + comboBoxAutoPowerOff.DropDownStyle = ComboBoxStyle.DropDownList; + comboBoxAutoPowerOff.FlatStyle = FlatStyle.Flat; + comboBoxAutoPowerOff.FormattingEnabled = true; + comboBoxAutoPowerOff.Location = new Point(362, 43); + comboBoxAutoPowerOff.Margin = new Padding(16, 0, 16, 0); + comboBoxAutoPowerOff.Name = "comboBoxAutoPowerOff"; + comboBoxAutoPowerOff.Size = new Size(284, 33); + comboBoxAutoPowerOff.TabIndex = 56; + // + // sliderLowBatteryWarning + // + sliderLowBatteryWarning.AccessibleName = "DPI Slider"; + sliderLowBatteryWarning.Location = new Point(362, 85); + sliderLowBatteryWarning.Max = 50; + sliderLowBatteryWarning.Min = 0; + sliderLowBatteryWarning.Name = "sliderLowBatteryWarning"; + sliderLowBatteryWarning.Size = new Size(243, 30); + sliderLowBatteryWarning.Step = 10; + sliderLowBatteryWarning.TabIndex = 50; + sliderLowBatteryWarning.TabStop = false; + sliderLowBatteryWarning.Text = "sliderBattery"; + sliderLowBatteryWarning.Value = 0; + // + // labelLowBatteryWarning + // + labelLowBatteryWarning.Location = new Point(7, 82); + labelLowBatteryWarning.Margin = new Padding(6, 0, 6, 0); + labelLowBatteryWarning.Name = "labelLowBatteryWarning"; + labelLowBatteryWarning.Size = new Size(316, 33); + labelLowBatteryWarning.TabIndex = 57; + labelLowBatteryWarning.Text = "Low Battery Warning"; + // + // labelAutoPowerOff + // + labelAutoPowerOff.Location = new Point(7, 43); + labelAutoPowerOff.Margin = new Padding(6, 0, 6, 0); + labelAutoPowerOff.Name = "labelAutoPowerOff"; + labelAutoPowerOff.Size = new Size(316, 33); + labelAutoPowerOff.TabIndex = 56; + labelAutoPowerOff.Text = "Auto Power Off"; + // + // panelEnergyHeader + // + panelEnergyHeader.BackColor = SystemColors.ControlLight; + panelEnergyHeader.Controls.Add(pictureBoxEnergy); + panelEnergyHeader.Controls.Add(labelEnergy); + panelEnergyHeader.Dock = DockStyle.Top; + panelEnergyHeader.Location = new Point(0, 0); + panelEnergyHeader.Name = "panelEnergyHeader"; + panelEnergyHeader.Size = new Size(654, 30); + panelEnergyHeader.TabIndex = 41; + // + // pictureBoxEnergy + // + pictureBoxEnergy.BackgroundImage = Properties.Resources.icons8_charging_battery_32; + pictureBoxEnergy.BackgroundImageLayout = ImageLayout.Zoom; + pictureBoxEnergy.Location = new Point(4, 0); + pictureBoxEnergy.Name = "pictureBoxEnergy"; + pictureBoxEnergy.Size = new Size(24, 24); + pictureBoxEnergy.TabIndex = 35; + pictureBoxEnergy.TabStop = false; + // + // labelEnergy + // + labelEnergy.AutoSize = true; + labelEnergy.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); + labelEnergy.Location = new Point(33, 0); + labelEnergy.Margin = new Padding(6, 0, 6, 0); + labelEnergy.Name = "labelEnergy"; + labelEnergy.Size = new Size(71, 25); + labelEnergy.TabIndex = 34; + labelEnergy.Text = "Energy"; + // + // tableLayoutProfiles + // + tableLayoutProfiles.AutoSize = true; + tableLayoutProfiles.AutoSizeMode = AutoSizeMode.GrowAndShrink; + tableLayoutProfiles.ColumnCount = 2; + tableLayoutProfiles.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); + tableLayoutProfiles.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F)); + tableLayoutProfiles.Controls.Add(panelProfiles, 1, 0); + tableLayoutProfiles.Controls.Add(panelBatteryState, 0, 0); + tableLayoutProfiles.Dock = DockStyle.Top; + tableLayoutProfiles.Location = new Point(11, 11); + tableLayoutProfiles.Name = "tableLayoutProfiles"; + tableLayoutProfiles.RowCount = 1; + tableLayoutProfiles.RowStyles.Add(new RowStyle(SizeType.Percent, 50F)); + tableLayoutProfiles.RowStyles.Add(new RowStyle(SizeType.Percent, 50F)); + tableLayoutProfiles.Size = new Size(654, 57); + tableLayoutProfiles.TabIndex = 44; + // + // panelBatteryState + // + panelBatteryState.Controls.Add(labelChargingState); + panelBatteryState.Controls.Add(labelBatteryState); + panelBatteryState.Controls.Add(pictureBoxBatteryState); + panelBatteryState.Location = new Point(3, 3); + panelBatteryState.Name = "panelBatteryState"; + panelBatteryState.Size = new Size(300, 50); + panelBatteryState.TabIndex = 1; + // + // labelChargingState + // + labelChargingState.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left; + labelChargingState.AutoSize = true; + labelChargingState.Font = new Font("Segoe UI", 10F, FontStyle.Bold, GraphicsUnit.Point); + labelChargingState.Location = new Point(116, 10); + labelChargingState.Name = "labelChargingState"; + labelChargingState.Size = new Size(97, 28); + labelChargingState.TabIndex = 38; + labelChargingState.Text = "Charging"; + labelChargingState.TextAlign = ContentAlignment.MiddleLeft; + // + // labelBatteryState + // + labelBatteryState.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right; + labelBatteryState.AutoSize = true; + labelBatteryState.Font = new Font("Segoe UI", 10F, FontStyle.Bold, GraphicsUnit.Point); + labelBatteryState.Location = new Point(45, 10); + labelBatteryState.Name = "labelBatteryState"; + labelBatteryState.Size = new Size(65, 28); + labelBatteryState.TabIndex = 37; + labelBatteryState.Text = "100%"; + labelBatteryState.TextAlign = ContentAlignment.MiddleRight; + // + // pictureBoxBatteryState + // + pictureBoxBatteryState.BackgroundImage = Properties.Resources.icons8_ladende_batterie_48; + pictureBoxBatteryState.BackgroundImageLayout = ImageLayout.Zoom; + pictureBoxBatteryState.Dock = DockStyle.Left; + pictureBoxBatteryState.Location = new Point(0, 0); + pictureBoxBatteryState.Name = "pictureBoxBatteryState"; + pictureBoxBatteryState.Size = new Size(39, 50); + pictureBoxBatteryState.TabIndex = 36; + pictureBoxBatteryState.TabStop = false; + // + // buttonSync + // + buttonSync.AccessibleName = "Keyboard Color"; + buttonSync.Activated = false; + buttonSync.Anchor = AnchorStyles.Top | AnchorStyles.Right; + buttonSync.BackColor = SystemColors.ButtonHighlight; + buttonSync.BorderColor = Color.Transparent; + buttonSync.BorderRadius = 2; + buttonSync.FlatStyle = FlatStyle.Flat; + buttonSync.ForeColor = SystemColors.ControlText; + buttonSync.Location = new Point(358, 8); + buttonSync.Margin = new Padding(3, 6, 3, 6); + buttonSync.Name = "buttonSync"; + buttonSync.Secondary = false; + buttonSync.Size = new Size(292, 37); + buttonSync.TabIndex = 46; + buttonSync.Text = "Synchronize with Mouse"; + buttonSync.UseVisualStyleBackColor = false; + buttonSync.Click += ButtonSync_Click; + // + // panelBottomButtons + // + panelBottomButtons.AutoSizeMode = AutoSizeMode.GrowAndShrink; + panelBottomButtons.Controls.Add(buttonSync); + panelBottomButtons.Dock = DockStyle.Top; + panelBottomButtons.Location = new Point(11, 883); + panelBottomButtons.Name = "panelBottomButtons"; + panelBottomButtons.Size = new Size(654, 67); + panelBottomButtons.TabIndex = 47; + // + // AsusMouseSettings + // + AutoScaleDimensions = new SizeF(144F, 144F); + AutoScaleMode = AutoScaleMode.Dpi; + AutoScroll = true; + AutoSize = true; + AutoSizeMode = AutoSizeMode.GrowAndShrink; + ClientSize = new Size(676, 1030); + Controls.Add(panelBottomButtons); + Controls.Add(panelEnergy); + Controls.Add(panelLighting); + Controls.Add(panelPerformance); + Controls.Add(tableLayoutProfiles); + MaximizeBox = false; + MdiChildrenMinimizedAnchorBottom = false; + MinimizeBox = false; + MinimumSize = new Size(690, 600); + Name = "AsusMouseSettings"; + Padding = new Padding(11); + ShowIcon = false; + ShowInTaskbar = false; + Text = "Mouse Settings"; + panelProfiles.ResumeLayout(false); + panelProfiles.PerformLayout(); + panelPerformance.ResumeLayout(false); + panelPerformance.PerformLayout(); + panelPerformanceOther.ResumeLayout(false); + panelDPISettings.ResumeLayout(false); + panelDPISettings.PerformLayout(); + tableLayoutPanel1.ResumeLayout(false); + panelDPITile.ResumeLayout(false); + panelDPITile.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)pictureDPIColor).EndInit(); + tableDPI.ResumeLayout(false); + panelPerformanceHeader.ResumeLayout(false); + panelPerformanceHeader.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)pictureKeyboard).EndInit(); + panelLighting.ResumeLayout(false); + panelLighting.PerformLayout(); + panelLightingContent.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)pictureBoxLightingColor).EndInit(); + panelLightingHeader.ResumeLayout(false); + panelLightingHeader.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)pictureBoxLighting).EndInit(); + panelEnergy.ResumeLayout(false); + panelEnergyHeader.ResumeLayout(false); + panelEnergyHeader.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)pictureBoxEnergy).EndInit(); + tableLayoutProfiles.ResumeLayout(false); + panelBatteryState.ResumeLayout(false); + panelBatteryState.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)pictureBoxBatteryState).EndInit(); + panelBottomButtons.ResumeLayout(false); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Panel panelProfiles; + private Label labelProfile; + private UI.RComboBox comboProfile; + private Panel panelPerformance; + private Panel panelPerformanceHeader; + private PictureBox pictureKeyboard; + private Label labelPerformance; + private Panel panelLighting; + private Panel panelLightingHeader; + private PictureBox pictureBoxLighting; + private Label labelLighting; + private Panel panelEnergy; + private Panel panelEnergyHeader; + private PictureBox pictureBoxEnergy; + private Label labelEnergy; + private TableLayoutPanel tableDPI; + private UI.RButton buttonDPI2; + private UI.RButton buttonDPI1; + private UI.RButton buttonDPI3; + private UI.RButton buttonDPI4; + private UI.Slider sliderDPI; + private Panel panelDPISettings; + private TableLayoutPanel tableLayoutPanel1; + private Label labelMinDPI; + private Label labelDPIValue; + private Label labelMaxDPI; + private Panel panelDPITile; + private Label labelDPI; + private TableLayoutPanel tableLayoutPollingRate; + private UI.RComboBox comboBoxPollingRate; + private UI.Slider sliderAngleAdjustment; + private CheckBox checkBoxAngleSnapping; + private Panel panelPerformanceOther; + private TableLayoutPanel tableLayoutProfiles; + private UI.RButton buttonDPIColor; + private PictureBox pictureDPIColor; + private UI.Slider sliderBrightness; + private Label labelPollingRate; + private Label labelAngleAdjustmentValue; + private Panel panelLightingContent; + private UI.RComboBox comboBoxLightingMode; + private Label labelLightingMode; + private PictureBox pictureBoxLightingColor; + private UI.RButton buttonLightingColor; + private CheckBox checkBoxRandomColor; + private UI.RComboBox comboBoxAnimationSpeed; + private Label labelAnimationSpeed; + private UI.RComboBox comboBoxAnimationDirection; + private Label labelAnimationDirection; + private UI.RComboBox comboBoxLiftOffDistance; + private Label labelLiftOffDistance; + private Label labelLowBatteryWarningValue; + private UI.RComboBox comboBoxAutoPowerOff; + private UI.Slider sliderLowBatteryWarning; + private Label labelLowBatteryWarning; + private Label labelAutoPowerOff; + private Panel panelBatteryState; + private Label labelChargingState; + private Label labelBatteryState; + private PictureBox pictureBoxBatteryState; + private UI.RButton buttonSync; + private Panel panelBottomButtons; + } +} \ No newline at end of file diff --git a/app/AsusMouseSettings.cs b/app/AsusMouseSettings.cs new file mode 100644 index 00000000..7c5dfc72 --- /dev/null +++ b/app/AsusMouseSettings.cs @@ -0,0 +1,569 @@ +using GHelper.Peripherals.Mouse; +using GHelper.UI; +using System.Windows.Forms; + +namespace GHelper +{ + public partial class AsusMouseSettings : RForm + { + private static Dictionary lightingModeNames = new Dictionary() + { + { LightingMode.Static,Properties.Strings.AuraStatic}, + { LightingMode.Breathing, Properties.Strings.AuraBreathe}, + { LightingMode.ColorCycle, Properties.Strings.AuraColorCycle}, + { LightingMode.Rainbow, Properties.Strings.AuraRainbow}, + { LightingMode.React, Properties.Strings.AuraReact}, + { LightingMode.Comet, Properties.Strings.AuraComet}, + { LightingMode.BatteryState, Properties.Strings.AuraBatteryState}, + }; + private List supportedLightingModes = new List(); + + private readonly AsusMouse mouse; + private readonly RButton[] dpiButtons; + + public AsusMouseSettings(AsusMouse mouse) + { + this.mouse = mouse; + InitializeComponent(); + + dpiButtons = new RButton[] { buttonDPI1, buttonDPI2, buttonDPI3, buttonDPI4 }; + + + labelPollingRate.Text = Properties.Strings.PollingRate; + labelLighting.Text = Properties.Strings.Lighting; + labelEnergy.Text = Properties.Strings.EnergySettings; + labelPerformance.Text = Properties.Strings.MousePerformance; + checkBoxRandomColor.Text = Properties.Strings.AuraRandomColor; + labelLowBatteryWarning.Text = Properties.Strings.MouseLowBatteryWarning; + labelAutoPowerOff.Text = Properties.Strings.MouseAutoPowerOff; + buttonSync.Text = Properties.Strings.MouseSynchronize; + checkBoxAngleSnapping.Text = Properties.Strings.MouseAngleSnapping; + labelLiftOffDistance.Text = Properties.Strings.MouseLiftOffDistance; + labelChargingState.Text = Properties.Strings.Charging; + labelProfile.Text = Properties.Strings.Profile; + + InitTheme(); + + this.Text = mouse.GetDisplayName(); + + Shown += AsusMouseSettings_Shown; + + mouse.Disconnect += Mouse_Disconnect; + mouse.BatteryUpdated += Mouse_BatteryUpdated; + comboProfile.DropDownClosed += ComboProfile_DropDownClosed; + + sliderDPI.ValueChanged += SliderDPI_ValueChanged; + sliderDPI.MouseUp += SliderDPI_MouseUp; + buttonDPIColor.Click += ButtonDPIColor_Click; + buttonDPI1.Click += ButtonDPI_Click; + buttonDPI2.Click += ButtonDPI_Click; + buttonDPI3.Click += ButtonDPI_Click; + buttonDPI4.Click += ButtonDPI_Click; + + comboBoxPollingRate.DropDownClosed += ComboBoxPollingRate_DropDownClosed; + checkBoxAngleSnapping.CheckedChanged += CheckAngleSnapping_CheckedChanged; + sliderAngleAdjustment.ValueChanged += SliderAngleAdjustment_ValueChanged; + sliderAngleAdjustment.MouseUp += SliderAngleAdjustment_MouseUp; + comboBoxLiftOffDistance.DropDownClosed += ComboBoxLiftOffDistance_DropDownClosed; + + buttonLightingColor.Click += ButtonLightingColor_Click; + comboBoxLightingMode.DropDownClosed += ComboBoxLightingMode_DropDownClosed; + sliderBrightness.MouseUp += SliderBrightness_MouseUp; + comboBoxAnimationSpeed.DropDownClosed += ComboBoxAnimationSpeed_DropDownClosed; + comboBoxAnimationDirection.DropDownClosed += ComboBoxAnimationDirection_DropDownClosed; + checkBoxRandomColor.CheckedChanged += CheckBoxRandomColor_CheckedChanged; + + sliderLowBatteryWarning.ValueChanged += SliderLowBatteryWarning_ValueChanged; + sliderLowBatteryWarning.MouseUp += SliderLowBatteryWarning_MouseUp; + comboBoxAutoPowerOff.DropDownClosed += ComboBoxAutoPowerOff_DropDownClosed; + + InitMouseCapabilities(); + RefreshMouseData(); + } + + private void Mouse_BatteryUpdated(object? sender, EventArgs e) + { + this.Invoke(delegate + { + VisualizeBatteryState(); + }); + + } + + private void ComboProfile_DropDownClosed(object? sender, EventArgs e) + { + mouse.SetProfile(comboProfile.SelectedIndex); + RefreshMouseData(); + } + + private void ComboBoxPollingRate_DropDownClosed(object? sender, EventArgs e) + { + mouse.SetPollingRate(comboBoxPollingRate.SelectedIndex + 1); + } + + private void ButtonDPIColor_Click(object? sender, EventArgs e) + { + ColorDialog colorDlg = new ColorDialog + { + AllowFullOpen = true, + Color = pictureDPIColor.BackColor + }; + + if (colorDlg.ShowDialog() == DialogResult.OK) + { + AsusMouseDPI dpi = mouse.DpiSettings[mouse.DpiProfile - 1]; + dpi.Color = colorDlg.Color; + + mouse.SetDPIForProfile(dpi, mouse.DpiProfile); + + VisualizeDPIButtons(); + VisualizeCurrentDPIProfile(); + } + } + + private void ButtonDPI_Click(object? sender, EventArgs e) + { + int index = -1; + + for (int i = 0; i < dpiButtons.Length; ++i) + { + if (sender == dpiButtons[i]) + { + index = i; + break; + } + } + + if (index == -1) + { + //huh? + return; + } + + mouse.SetDPIProfile(index + 1); + VisualizeDPIButtons(); + VisualizeCurrentDPIProfile(); + } + + + private void CheckBoxRandomColor_CheckedChanged(object? sender, EventArgs e) + { + LightingSetting? ls = mouse.LightingSetting; + ls.RandomColor = checkBoxRandomColor.Checked; + + mouse.SetLightingSetting(ls); + VisusalizeLightingSettings(); + } + + private void ComboBoxAnimationDirection_DropDownClosed(object? sender, EventArgs e) + { + LightingSetting? ls = mouse.LightingSetting; + ls.AnimationDirection = (AnimationDirection)comboBoxAnimationDirection.SelectedIndex; + + mouse.SetLightingSetting(ls); + VisusalizeLightingSettings(); + } + + private void ComboBoxAnimationSpeed_DropDownClosed(object? sender, EventArgs e) + { + LightingSetting? ls = mouse.LightingSetting; + ls.AnimationSpeed = (AnimationSpeed)comboBoxAnimationSpeed.SelectedIndex; + + mouse.SetLightingSetting(ls); + VisusalizeLightingSettings(); + } + + private void SliderBrightness_MouseUp(object? sender, MouseEventArgs e) + { + LightingSetting? ls = mouse.LightingSetting; + ls.Brightness = sliderBrightness.Value; + + mouse.SetLightingSetting(ls); + } + + private void ComboBoxLightingMode_DropDownClosed(object? sender, EventArgs e) + { + LightingMode lm = supportedLightingModes[comboBoxLightingMode.SelectedIndex]; + + LightingSetting? ls = mouse.LightingSetting; + ls.LightingMode = lm; + + mouse.SetLightingSetting(ls); + VisusalizeLightingSettings(); + } + + private void ButtonLightingColor_Click(object? sender, EventArgs e) + { + ColorDialog colorDlg = new ColorDialog + { + AllowFullOpen = true, + Color = pictureBoxLightingColor.BackColor + }; + + if (colorDlg.ShowDialog() == DialogResult.OK) + { + LightingSetting? ls = mouse.LightingSetting; + ls.RGBColor = colorDlg.Color; + + mouse.SetLightingSetting(ls); + VisusalizeLightingSettings(); + } + } + + private void SliderLowBatteryWarning_ValueChanged(object? sender, EventArgs e) + { + labelLowBatteryWarningValue.Text = sliderLowBatteryWarning.Value.ToString() + "%"; + } + + private void SliderLowBatteryWarning_MouseUp(object? sender, MouseEventArgs e) + { + mouse.SetEnergySettings(sliderLowBatteryWarning.Value, mouse.PowerOffSetting); + } + + + private void ComboBoxAutoPowerOff_DropDownClosed(object? sender, EventArgs e) + { + object? obj = Enum.GetValues(typeof(PowerOffSetting)).GetValue(comboBoxAutoPowerOff.SelectedIndex); + if (obj is null) + { + return; + } + PowerOffSetting pos = (PowerOffSetting)obj; + + + mouse.SetEnergySettings(mouse.LowBatteryWarning, pos); + } + + private void SliderAngleAdjustment_ValueChanged(object? sender, EventArgs e) + { + labelAngleAdjustmentValue.Text = sliderAngleAdjustment.Value.ToString() + "°"; + } + + private void SliderAngleAdjustment_MouseUp(object? sender, MouseEventArgs e) + { + mouse.SetAngleAdjustment((short)sliderAngleAdjustment.Value); + } + + private void ComboBoxLiftOffDistance_DropDownClosed(object? sender, EventArgs e) + { + mouse.SetLiftOffDistance((LiftOffDistance)comboBoxLiftOffDistance.SelectedIndex); + } + + private void CheckAngleSnapping_CheckedChanged(object? sender, EventArgs e) + { + mouse.SetAngleSnapping(checkBoxAngleSnapping.Checked); + mouse.SetAngleAdjustment((short)sliderAngleAdjustment.Value); + } + + private void SliderDPI_ValueChanged(object? sender, EventArgs e) + { + labelDPIValue.Text = sliderDPI.Value.ToString(); + } + + private void SliderDPI_MouseUp(object? sender, MouseEventArgs e) + { + AsusMouseDPI dpi = mouse.DpiSettings[mouse.DpiProfile - 1]; + dpi.DPI = (uint)sliderDPI.Value; + + mouse.SetDPIForProfile(dpi, mouse.DpiProfile); + + VisualizeDPIButtons(); + VisualizeCurrentDPIProfile(); + } + + private void Mouse_Disconnect(object? sender, EventArgs e) + { + //Mouse disconnected. Bye bye. + this.Invoke(delegate + { + this.Close(); + }); + + } + + private void RefreshMouseData() + { + mouse.SynchronizeDevice(); + if (!mouse.IsDeviceReady) + { + this.Invoke(delegate + { + this.Close(); + }); + return; + } + + + VisualizeMouseSettings(); + VisualizeBatteryState(); + } + + private void InitMouseCapabilities() + { + for (int i = 0; i < mouse.ProfileCount(); ++i) + { + String prf = Properties.Strings.Profile + " " + (i + 1); + comboProfile.Items.Add(prf); + } + + labelMinDPI.Text = mouse.MinDPI().ToString(); + labelMaxDPI.Text = mouse.MaxDPI().ToString(); + + sliderDPI.Max = mouse.MaxDPI(); + sliderDPI.Min = mouse.MinDPI(); + + + if (!mouse.HasDPIColors()) + { + buttonDPIColor.Visible = false; + pictureDPIColor.Visible = false; + buttonDPI1.Image = ControlHelper.TintImage(Properties.Resources.lighting_dot_24, Color.Red); + buttonDPI2.Image = ControlHelper.TintImage(Properties.Resources.lighting_dot_24, Color.Purple); + buttonDPI3.Image = ControlHelper.TintImage(Properties.Resources.lighting_dot_24, Color.Blue); + buttonDPI4.Image = ControlHelper.TintImage(Properties.Resources.lighting_dot_24, Color.Green); + + buttonDPI1.BorderColor = Color.Red; + buttonDPI1.BorderColor = Color.Purple; + buttonDPI1.BorderColor = Color.Blue; + buttonDPI1.BorderColor = Color.Green; + } + + if (mouse.CanSetPollingRate()) + { + comboBoxPollingRate.Items.AddRange(mouse.PollingRateDisplayStrings()); + } + else + { + comboBoxPollingRate.Visible = false; + labelPollingRate.Visible = false; + } + + if (!mouse.HasAngleSnapping()) + { + checkBoxAngleSnapping.Visible = false; + labelAngleAdjustmentValue.Visible = false; + sliderAngleAdjustment.Visible = false; + } + + if (mouse.HasLiftOffSetting()) + { + comboBoxLiftOffDistance.Items.AddRange(new string[] { + Properties.Strings.Low, + Properties.Strings.High, + }); + } + else + { + comboBoxLiftOffDistance.Visible = false; + labelLiftOffDistance.Visible = false; + } + + if (mouse.DPIProfileCount() < 4) + { + for (int i = 3; i > mouse.DPIProfileCount() - 1; --i) + { + dpiButtons[i].Visible = false; + } + } + + if (!mouse.HasBattery()) + { + panelBatteryState.Visible = false; + } + + if (mouse.HasEnergySettings()) + { + comboBoxAutoPowerOff.Items.AddRange(new string[]{ + " 1 "+ Properties.Strings.Minute, + " 2 "+ Properties.Strings.Minutes, + " 3 "+ Properties.Strings.Minutes, + " 5 "+ Properties.Strings.Minutes, + "10 "+ Properties.Strings.Minutes, + Properties.Strings.Never, + }); + } + else + { + panelEnergy.Visible = false; + } + + if (mouse.HasRGB()) + { + foreach (LightingMode lm in Enum.GetValues(typeof(LightingMode))) + { + if (mouse.IsLightingModeSupported(lm)) + { + comboBoxLightingMode.Items.Add(lightingModeNames.GetValueOrDefault(lm)); + supportedLightingModes.Add(lm); + } + } + + comboBoxAnimationDirection.Items.AddRange(new string[] { + Properties.Strings.AuraClockwise, + Properties.Strings.AuraCounterClockwise, + }); + + comboBoxAnimationSpeed.Items.AddRange(new string[] { + Properties.Strings.AuraSlow, + Properties.Strings.AuraNormal, + Properties.Strings.AuraFast + }); + } + else + { + panelLighting.Visible = false; + } + } + + + private void VisualizeMouseSettings() + { + comboProfile.SelectedIndex = mouse.Profile; + + VisualizeDPIButtons(); + VisualizeCurrentDPIProfile(); + VisusalizeLightingSettings(); + + if (mouse.CanSetPollingRate()) + { + comboBoxPollingRate.SelectedIndex = mouse.PollingRate - 1; + } + + if (mouse.HasAngleSnapping()) + { + checkBoxAngleSnapping.Checked = mouse.AngleSnapping; + sliderAngleAdjustment.Value = mouse.AngleAdjustmentDegrees; + } + + if (mouse.HasEnergySettings()) + { + if (mouse.PowerOffSetting == PowerOffSetting.Never) + { + comboBoxAutoPowerOff.SelectedIndex = comboBoxAutoPowerOff.Items.Count - 1; + } + else + { + comboBoxAutoPowerOff.SelectedIndex = (int)mouse.PowerOffSetting; + } + + sliderLowBatteryWarning.Value = mouse.LowBatteryWarning; + + } + + if (mouse.HasLiftOffSetting()) + { + comboBoxLiftOffDistance.SelectedIndex = (int)mouse.LiftOffDistance; + } + } + + private void VisualizeBatteryState() + { + if (!mouse.HasBattery()) + { + return; + } + + labelBatteryState.Text = mouse.Battery + "%"; + labelChargingState.Visible = mouse.Charging; + + if (mouse.Charging) + { + pictureBoxBatteryState.BackgroundImage = ControlHelper.TintImage(Properties.Resources.icons8_ladende_batterie_48, foreMain); + } + else + { + pictureBoxBatteryState.BackgroundImage = ControlHelper.TintImage(Properties.Resources.icons8_batterie_voll_geladen_48, foreMain); + } + } + + private void VisusalizeLightingSettings() + { + if (!mouse.HasRGB()) + { + return; + } + + LightingSetting? ls = mouse.LightingSetting; + + if (ls is null) + { + //Lighting settings not loaded? + return; + } + + sliderBrightness.Value = ls.Brightness; + + checkBoxRandomColor.Visible = mouse.SupportsRandomColor(ls.LightingMode); + + pictureBoxLightingColor.Visible = mouse.SupportsColorSetting(ls.LightingMode); + pictureBoxLightingColor.Visible = mouse.SupportsColorSetting(ls.LightingMode); + + comboBoxAnimationSpeed.Visible = mouse.SupportsAnimationSpeed(ls.LightingMode); + labelAnimationSpeed.Visible = mouse.SupportsAnimationSpeed(ls.LightingMode); + comboBoxAnimationDirection.Visible = mouse.SupportsAnimationDirection(ls.LightingMode); + labelAnimationDirection.Visible = mouse.SupportsAnimationDirection(ls.LightingMode); + + comboBoxLightingMode.SelectedIndex = supportedLightingModes.IndexOf(ls.LightingMode); + + if (mouse.SupportsRandomColor(ls.LightingMode)) + { + checkBoxRandomColor.Checked = ls.RandomColor; + buttonLightingColor.Visible = !ls.RandomColor; + + } + + if (ls.RandomColor && mouse.SupportsRandomColor(ls.LightingMode)) + pictureBoxLightingColor.BackColor = Color.Transparent; + else + pictureBoxLightingColor.BackColor = ls.RGBColor; + + + comboBoxAnimationSpeed.SelectedIndex = (((int)ls.AnimationSpeed) - 5) / 2; + comboBoxAnimationDirection.SelectedIndex = (int)ls.AnimationDirection; + } + + + private void VisualizeDPIButtons() + { + if (mouse.HasDPIColors()) + { + for (int i = 0; i < mouse.DPIProfileCount() && i < 4; ++i) + { + AsusMouseDPI dpi = mouse.DpiSettings[i]; + dpiButtons[i].Image = ControlHelper.TintImage(Properties.Resources.lighting_dot_24, dpi.Color); + dpiButtons[i].Activated = (mouse.DpiProfile - 1) == i; + dpiButtons[i].BorderColor = dpi.Color; + dpiButtons[i].Text = "DPI " + (i + 1) + "\n" + dpi.DPI; + } + } + + } + + private void VisualizeCurrentDPIProfile() + { + AsusMouseDPI dpi = mouse.DpiSettings[mouse.DpiProfile - 1]; + sliderDPI.Value = (int)dpi.DPI; + pictureDPIColor.BackColor = dpi.Color; + } + + private void AsusMouseSettings_Shown(object? sender, EventArgs e) + { + + if (Height > Program.settingsForm.Height) + { + Top = Program.settingsForm.Top + Program.settingsForm.Height - Height; + } + else + { + Top = Program.settingsForm.Top; + } + + Left = Program.settingsForm.Left - Width - 5; + } + + private void ButtonSync_Click(object sender, EventArgs e) + { + RefreshMouseData(); + } + } +} diff --git a/app/AsusMouseSettings.resx b/app/AsusMouseSettings.resx new file mode 100644 index 00000000..a395bffc --- /dev/null +++ b/app/AsusMouseSettings.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/app/Properties/Resources.Designer.cs b/app/Properties/Resources.Designer.cs index 387961ba..48a7f8ec 100644 --- a/app/Properties/Resources.Designer.cs +++ b/app/Properties/Resources.Designer.cs @@ -140,6 +140,16 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap icons8_batterie_voll_geladen_48 { + get { + object obj = ResourceManager.GetObject("icons8_batterie_voll_geladen_48", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -280,6 +290,16 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap icons8_ladende_batterie_48 { + get { + object obj = ResourceManager.GetObject("icons8_ladende_batterie_48", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -339,7 +359,17 @@ namespace GHelper.Properties { return ((System.Drawing.Bitmap)(obj)); } } - + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap icons8_mauszeiger_50 { + get { + object obj = ResourceManager.GetObject("icons8_mauszeiger_50", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -521,7 +551,37 @@ namespace GHelper.Properties { } /// - /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap lighting_dot_24 { + get { + object obj = ResourceManager.GetObject("lighting_dot_24", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap lighting_dot_32 { + get { + object obj = ResourceManager.GetObject("lighting_dot_32", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap lighting_dot_48 { + get { + object obj = ResourceManager.GetObject("lighting_dot_48", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Icon ähnlich wie (Symbol). /// internal static System.Drawing.Icon standard { get { diff --git a/app/Properties/Resources.resx b/app/Properties/Resources.resx index f36d49f1..c9595ed8 100644 --- a/app/Properties/Resources.resx +++ b/app/Properties/Resources.resx @@ -262,4 +262,22 @@ ..\Resources\icons8-maus-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\icons8-mauszeiger-50.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons8-batterie-voll-geladen-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\icons8-ladende-batterie-48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\lighting_dot_32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\lighting_dot_48.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\lighting_dot_24.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/app/Properties/Strings.Designer.cs b/app/Properties/Strings.Designer.cs index a5c19305..77290fe0 100644 --- a/app/Properties/Strings.Designer.cs +++ b/app/Properties/Strings.Designer.cs @@ -195,6 +195,15 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized string similar to Battery State. + /// + internal static string AuraBatteryState { + get { + return ResourceManager.GetString("AuraBatteryState", resourceCulture); + } + } + /// /// Looks up a localized string similar to Breathe. /// @@ -204,6 +213,15 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized string similar to Clockwise. + /// + internal static string AuraClockwise { + get { + return ResourceManager.GetString("AuraClockwise", resourceCulture); + } + } + /// /// Looks up a localized string similar to Color Cycle. /// @@ -213,6 +231,24 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized string similar to Comet. + /// + internal static string AuraComet { + get { + return ResourceManager.GetString("AuraComet", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Counterclockwise. + /// + internal static string AuraCounterClockwise { + get { + return ResourceManager.GetString("AuraCounterClockwise", resourceCulture); + } + } + /// /// Looks up a localized string similar to Fast. /// @@ -240,6 +276,24 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized string similar to Random. + /// + internal static string AuraRandomColor { + get { + return ResourceManager.GetString("AuraRandomColor", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to React. + /// + internal static string AuraReact { + get { + return ResourceManager.GetString("AuraReact", resourceCulture); + } + } + /// /// Looks up a localized string similar to Slow. /// @@ -503,6 +557,15 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized string similar to Energy Settings. + /// + internal static string EnergySettings { + get { + return ResourceManager.GetString("EnergySettings", resourceCulture); + } + } + /// /// Looks up a localized string similar to Extra. /// @@ -701,6 +764,15 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized string similar to High. + /// + internal static string High { + get { + return ResourceManager.GetString("High", resourceCulture); + } + } + /// /// Looks up a localized string similar to Key Bindings. /// @@ -773,6 +845,15 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized string similar to Lighting. + /// + internal static string Lighting { + get { + return ResourceManager.GetString("Lighting", resourceCulture); + } + } + /// /// Looks up a localized string similar to Logo. /// @@ -782,6 +863,15 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized string similar to Low. + /// + internal static string Low { + get { + return ResourceManager.GetString("Low", resourceCulture); + } + } + /// /// Looks up a localized string similar to Audio Visualizer. /// @@ -881,6 +971,78 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized string similar to Minute. + /// + internal static string Minute { + get { + return ResourceManager.GetString("Minute", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minutes. + /// + internal static string Minutes { + get { + return ResourceManager.GetString("Minutes", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Angle Snapping. + /// + internal static string MouseAngleSnapping { + get { + return ResourceManager.GetString("MouseAngleSnapping", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Auto Power Off After. + /// + internal static string MouseAutoPowerOff { + get { + return ResourceManager.GetString("MouseAutoPowerOff", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Lift Off Distance. + /// + internal static string MouseLiftOffDistance { + get { + return ResourceManager.GetString("MouseLiftOffDistance", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Low Battery Warning at. + /// + internal static string MouseLowBatteryWarning { + get { + return ResourceManager.GetString("MouseLowBatteryWarning", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Performance. + /// + internal static string MousePerformance { + get { + return ResourceManager.GetString("MousePerformance", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Synchronize with mouse. + /// + internal static string MouseSynchronize { + get { + return ResourceManager.GetString("MouseSynchronize", resourceCulture); + } + } + /// /// Looks up a localized string similar to Multizone. /// @@ -899,6 +1061,15 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized string similar to Never. + /// + internal static string Never { + get { + return ResourceManager.GetString("Never", resourceCulture); + } + } + /// /// Looks up a localized string similar to New updates. /// @@ -918,7 +1089,7 @@ namespace GHelper.Properties { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Not Connected ähnelt. + /// Looks up a localized string similar to Not Connected. /// internal static string NotConnected { get { @@ -990,7 +1161,7 @@ namespace GHelper.Properties { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Peripherals ähnelt. + /// Looks up a localized string similar to Peripherals. /// internal static string Peripherals { get { @@ -1016,6 +1187,15 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized string similar to Polling Rate. + /// + internal static string PollingRate { + get { + return ResourceManager.GetString("PollingRate", resourceCulture); + } + } + /// /// Looks up a localized string similar to Power Limits. /// @@ -1043,6 +1223,15 @@ namespace GHelper.Properties { } } + /// + /// Looks up a localized string similar to Profile. + /// + internal static string Profile { + get { + return ResourceManager.GetString("Profile", resourceCulture); + } + } + /// /// Looks up a localized string similar to Quit. /// diff --git a/app/Properties/Strings.resx b/app/Properties/Strings.resx index aa381582..52715934 100644 --- a/app/Properties/Strings.resx +++ b/app/Properties/Strings.resx @@ -162,12 +162,24 @@ Asus Services Running + + Battery State + Breathe + + Clockwise + Color Cycle + + Comet + + + Counterclockwise + Fast @@ -177,6 +189,12 @@ Rainbow + + Random + + + React + Slow @@ -266,6 +284,9 @@ Do you still want to continue? NVIDIA Display Mode is not set to Optimus + + Energy Settings + Extra @@ -332,6 +353,9 @@ Do you still want to continue? Temperature Target + + High + Key Bindings @@ -356,9 +380,15 @@ Do you still want to continue? Lightbar + + Lighting + Logo + + Low + Audio Visualizer @@ -392,12 +422,39 @@ Do you still want to continue? 60Hz refresh rate to save battery + + Minute + + + Minutes + + + Angle Snapping + + + Auto Power Off After + + + Lift Off Distance + + + Low Battery Warning at + + + Performance + + + Synchronize with mouse + Multizone Mute Mic + + Never + New updates @@ -437,6 +494,9 @@ Do you still want to continue? Play / Pause + + Polling Rate + Power Limits @@ -446,6 +506,9 @@ Do you still want to continue? PrintScreen + + Profile + Quit diff --git a/app/Resources/icons8-batterie-voll-geladen-48.png b/app/Resources/icons8-batterie-voll-geladen-48.png new file mode 100644 index 0000000000000000000000000000000000000000..96477f33bbcc099bb357e225dbd8cebf9758f418 GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC&H|6fVg?3oVGw3ym^DWND7eGZ z#WAE}&fA%eT+IdouJ>)j1;pAdFE2W}s2uA1%nOjZx3Mb_+p*k=FseWRMP!|uR|`R8nmn0!Q;c_bOX$sL;6)S9$HKug5AHDIBHRtwkB0L2iEHm-$Eh9MozqEgyr zi6=NNgz{WSW7)xcp6lrM15;IIJvC0^pL^`-v&&uLKh@LxkLfMG=xDP7=m!Q*S3j3^ HP6_< literal 0 HcmV?d00001 diff --git a/app/Resources/icons8-ladende-batterie-48.png b/app/Resources/icons8-ladende-batterie-48.png new file mode 100644 index 0000000000000000000000000000000000000000..a1be3718a5009c54683836d5c722eb7e640a484f GIT binary patch literal 410 zcmV;L0cHM)P)2)qN=1M;E^JPpi?DzH_^ zizd)so1uBp1XfCUQ3SfyW@ug%frVn88q$G%Ycn)Y4e7vV_7YcugZ>N?IwLc{vOaK4?07*qoM6N<$ Ef}?k_!2kdN literal 0 HcmV?d00001 diff --git a/app/Resources/icons8-mauszeiger-50.png b/app/Resources/icons8-mauszeiger-50.png new file mode 100644 index 0000000000000000000000000000000000000000..90cbdaa32d4ced5dfe568b8153369fdb8c08a137 GIT binary patch literal 498 zcmV`~fV; zN>=QZg@ux(mFy(V!ot{D$WD}|#*YnQYRp$p-NiJ`Jr9}Zx#yhjyFRP?UEKGr)Aw__ z^z`)f4B;7GVVA;*ChxFU1tNht98`fw;46-+KqT-TCsiO4Sim_Ihy)gKQ3WD_C0tQ~ zNHn>n5|O|itXF|Z;2}1sKqT-OQz{S%JjWIlh(uF1x2ZrR@CLh8AQHJW=UAf*n)9I= zM562F9BZ7;nsbaG3tcql7*Q6--JD~DSsG_^jxpqVEh3*v68VAmc!?*tkK4G6!#Rr# z4)ba3!Dbl{|B^sCL`#0*Y%_B{G50o?dwi^tZ#c1R zX0mCwZ8B$MK&;3Y99?DZMnYsp2E?)qzWRZdx$XFwkU6Gf;va5#4-z7eWbnso7CZl9 z_Q;S0xlcj7NXXn(5Yq{f!5P}25GL>;A#+nfTuX?2ZuU+QY;9_L+oqpX5cgIHyv8ML oQW*O&kEb|=bzQ$uPmgx~0K(@RWS#^blmGw#07*qoM6N<$f?68Wn*aa+ literal 0 HcmV?d00001 diff --git a/app/Resources/lighting_dot_24.png b/app/Resources/lighting_dot_24.png new file mode 100644 index 0000000000000000000000000000000000000000..249426164ddeaab00587cc40ab340259a599efb1 GIT binary patch literal 2408 zcmb7GYg7|w8lK=nH9Z2y%L2-QY&cXw$xH$XGEImf2_y}n5ds9YNG_8wLNak?LIP5; zpjKAcmbKQlT2xS5K~Z#}9`6FJ)hdWpyVhL=TE*6C5ZYZ_+hu1G3Q}x)_Q%ZR`<~~$ zJ>NU;q*9ZXGMzbx2>`%!r9zfYJ%j0MsvmXlaf*fkz&8=q>PVeB6*gj4j^2bB5RS`g zr*Hreid}ZSu>c`i2E>BeL~Qr*(`*)M60x)SYDjIDBKfGI1V=JT(zM2s0%L-SEly+# zT`=XqijaDi%UWn7V3&yP@e5PG>1~kB@=(YE5nHF$u%sA{u=pH42Vy5OSwh@ohSO!q zqsG)q#Lg#4I}CzOr<3E1)U(L0w3pPKH_$8$pRKV)NpD0p?5w$3*jbRbwW~X{^U? z98yZ98XPmDg%n1lrzEkIa;bouAP~gxINk(k9bu(aZ$VNKn}y6D3qB5Hqo!Z((*+hf z=nl!Wp_C*%Ph5|QZXBcXfgtdyI62S8sAGfGRDYZFq+X^csa$ywFE$2>kKx5?x$$sZ z0?bWV0P$c5^2G7*F%xPo{yjF`(<~vySF2$KN{|>{?Ah`*dIqw}yYemzQBQ}{Jx=rW zM!G%`+m2%M(LVMl-8YM6@>D1$h#6lghh%GUjQA&womWFP17MH_?ID&~5&U}PE z+NUaugSoMAEHqjf_{>~9J@>1*c+vkS7q7+STqdeKnu`#m-~XRw5`vS2^b(#L7*q}3 zJ!%k96Ac_2Y1CqDC?Ym$65`azlb6WD0f14CQf)e^Jpo{TjictYDrw2Ab7EAl(`z)+ zigkSC`zgEM_N!m`p0ubBwzMB`i zgG99E@Z1gew$A1cKKJLxgefw+CZ~RFXY{ncetmByAH0@XxvD!eB#N0eGV-r$8v_Ei zG{isI)q5lE_Ubdu)5Xj7K6aSi6Q9c~EB`DtQoMRS;?PF{C-GY?gU_$dwYV3TPZLrf zuW5Eg4gmn12>N2U_K1rBz$Zy5lV}x{Tdv=HdFGNpzk%DfO|3rV{M_&}Dn)6Z#L%~G z2BNMCPwtu=9bPSMT6*V1rYaNKft+vCpV0z!1&kcrH?|I){eRf5Y^ zCl`s^0{eqIh?u{}trb?aUT)fNE)C!LMp)WFfW@(RGqC<#{GoNnU2C7{{Ld_`8aW$Q zG%)v{0DQ1Ku38l#e30i`(3~}8|0|3|9fDJN&)@bLILb`-{j`0^zt%VfeB=|r4evh! z*=P9e=nJ!b^3nT1h?a5KmCNjkAMm>`>8hRs2bH&`eOC=URQ_tgy%p&f8^{>qNCFW9~c$?fIWuItZMhIQT<-n4>orJa?1<#T^HE3)&T@x+^E z*_1W@`5Aw z!qnsogKkv_)R_8h0QbU{>c;sa(tR7vTTWf&9NSfvC4-n9wc2-YHt)D}@255Q9yaW& z@Yx@QXlm5f$m-8c!MSA}FP6Ufr97Y_xjKo1oK0FgTON05sOjo};8EC$$oF2J7xAHg zO~xJ8`RaM?nmTu|xP3@{;^TRhb(GY2AW{iuSwB+W*SeXEBN%N&8C0RY98{wDs&ZUASRa9or;F)~9z?)bDKg;NplX z#hi)n`*E)RXo#D4N3?yxb7c=!e3BXSr)`Jdh<>u?G-re{QqX8bw!3=iKS)Y>nye`) Gul#=o5PAmy literal 0 HcmV?d00001 diff --git a/app/Resources/lighting_dot_32.png b/app/Resources/lighting_dot_32.png new file mode 100644 index 0000000000000000000000000000000000000000..382ed5f5081df4fbc161ab596f8c554cfd868acd GIT binary patch literal 2521 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 literal 0 HcmV?d00001 diff --git a/app/Settings.cs b/app/Settings.cs index 0b4d9a10..8f93c00f 100644 --- a/app/Settings.cs +++ b/app/Settings.cs @@ -1131,7 +1131,31 @@ namespace GHelper if (sender == buttonPeripheral2) index = 1; if (sender == buttonPeripheral3) index = 2; - //TODO: Open Configuration Panel + IPeripheral iph = PeripheralsProvider.AllPeripherals().ElementAt(index); + + if (iph is null) + { + //Can only happen when the user hits the button in the exact moment a device is disconnected. + return; + } + + if (iph.DeviceType() == PeripheralType.Mouse) + { + AsusMouse? am = iph as AsusMouse; + if (am is null) + { + //Should not happen if all device classes are implemented correctly. But better safe than sorry. + return; + } + AsusMouseSettings s = new AsusMouseSettings(am); + if (!s.IsDisposed) + { + s.Show(); + } + + } + + } }