From 215a21f9b62aa50d9ca4037ca0a22f5b0920f373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Pazdiora?= Date: Thu, 7 Jan 2021 23:21:33 +0100 Subject: rough GUI integration of "Device Hardware ID" --- grapher/Models/Serialized/SettingsManager.cs | 66 ++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) (limited to 'grapher/Models/Serialized/SettingsManager.cs') diff --git a/grapher/Models/Serialized/SettingsManager.cs b/grapher/Models/Serialized/SettingsManager.cs index 41ebcb5..3adbc8b 100644 --- a/grapher/Models/Serialized/SettingsManager.cs +++ b/grapher/Models/Serialized/SettingsManager.cs @@ -3,6 +3,7 @@ using System; using System.Windows.Forms; using System.Threading; using System.Text; +using System.Drawing; namespace grapher.Models.Serialized { @@ -15,6 +16,7 @@ namespace grapher.Models.Serialized Field dpiField, Field pollRateField, ToolStripMenuItem autoWrite, + ToolStripMenuItem useSpecificDevice, ToolStripMenuItem showLastMouseMove, ToolStripMenuItem showVelocityAndGain) { @@ -22,6 +24,7 @@ namespace grapher.Models.Serialized DpiField = dpiField; PollRateField = pollRateField; AutoWriteMenuItem = autoWrite; + UseSpecificDeviceMenuItem = useSpecificDevice; ShowLastMouseMoveMenuItem = showLastMouseMove; ShowVelocityAndGainMoveMenuItem = showVelocityAndGain; } @@ -40,6 +43,8 @@ namespace grapher.Models.Serialized private ToolStripMenuItem AutoWriteMenuItem { get; set; } + private ToolStripMenuItem UseSpecificDeviceMenuItem { get; set; } + private ToolStripMenuItem ShowLastMouseMoveMenuItem { get; set; } private ToolStripMenuItem ShowVelocityAndGainMoveMenuItem { get; set; } @@ -61,6 +66,66 @@ namespace grapher.Models.Serialized return errors; } + private void SpecificDeviceClickHnadler(Object o, EventArgs a, string hwid) + { + var item = (ToolStripMenuItem)o; + foreach (ToolStripMenuItem i in UseSpecificDeviceMenuItem.DropDownItems) + { + i.Checked = false; + } + item.Checked = true; + if (hwid == null || hwid == "") + { + UseSpecificDeviceMenuItem.Checked = false; + } else + { + UseSpecificDeviceMenuItem.Checked = true; + } + RawAccelSettings.AccelerationSettings.deviceHardwareID = hwid; + + TryUpdateActiveSettings(RawAccelSettings.AccelerationSettings); + + } + private void UpdateUseSpecificDeviceMenu() + { + var hwid = RawAccelSettings.AccelerationSettings.deviceHardwareID; + if (hwid == null) { hwid = ""; } + + UseSpecificDeviceMenuItem.Checked = hwid.Length > 0; + UseSpecificDeviceMenuItem.DropDownItems.Clear(); + + var any_device = new ToolStripMenuItem(); + any_device.Text = ""; + any_device.Checked = hwid.Length == 0; + any_device.Click += new EventHandler(delegate(Object o, EventArgs a) { SpecificDeviceClickHnadler(o, a, ""); }); + UseSpecificDeviceMenuItem.DropDownItems.Add(any_device); + + var hwid_not_found = true; + + foreach (Tuple device in Models.Devices.DeviceList.GetDeviceHardwareIDs()) + { + if (hwid == device.Item2) + { + hwid_not_found = false; + } + var dev = new ToolStripMenuItem(); + dev.Text = device.Item1; + dev.Checked = device.Item2 == RawAccelSettings.AccelerationSettings.deviceHardwareID; + dev.Click += new EventHandler(delegate (Object o, EventArgs a) { SpecificDeviceClickHnadler(o, a, device.Item2); }); + UseSpecificDeviceMenuItem.DropDownItems.Add(dev); + } + + if (hwid.Length > 0 && hwid_not_found) + { + var current_hwid = new ToolStripMenuItem(); + current_hwid.Text = "Disconnected (" + hwid + ")"; + current_hwid.ForeColor = Color.DarkGray; + current_hwid.Checked = true; + current_hwid.Click += new EventHandler(delegate (Object o, EventArgs a) { SpecificDeviceClickHnadler(o, a, hwid); }); + UseSpecificDeviceMenuItem.DropDownItems.Add(current_hwid); + } + } + public void UpdateFieldsFromGUISettings() { DpiField.SetToEntered(RawAccelSettings.GUISettings.DPI); @@ -110,6 +175,7 @@ namespace grapher.Models.Serialized { RawAccelSettings = RawAccelSettings.Load(() => MakeGUISettingsFromFields()); UpdateFieldsFromGUISettings(); + UpdateUseSpecificDeviceMenu(); if (RawAccelSettings.GUISettings.AutoWriteToDriverOnStartup) { TryUpdateAccel(RawAccelSettings.AccelerationSettings); -- cgit v1.2.3 From 8273ecf0c22876f0f4e9dfa9eb29b9d491614faa Mon Sep 17 00:00:00 2001 From: Jacob Palecki Date: Thu, 7 Jan 2021 23:11:24 -0800 Subject: Refactor --- grapher/Models/Serialized/SettingsManager.cs | 73 +++------------------------- 1 file changed, 7 insertions(+), 66 deletions(-) (limited to 'grapher/Models/Serialized/SettingsManager.cs') diff --git a/grapher/Models/Serialized/SettingsManager.cs b/grapher/Models/Serialized/SettingsManager.cs index 3adbc8b..4dbf7bf 100644 --- a/grapher/Models/Serialized/SettingsManager.cs +++ b/grapher/Models/Serialized/SettingsManager.cs @@ -4,6 +4,7 @@ using System.Windows.Forms; using System.Threading; using System.Text; using System.Drawing; +using grapher.Models.Devices; namespace grapher.Models.Serialized { @@ -16,17 +17,17 @@ namespace grapher.Models.Serialized Field dpiField, Field pollRateField, ToolStripMenuItem autoWrite, - ToolStripMenuItem useSpecificDevice, ToolStripMenuItem showLastMouseMove, - ToolStripMenuItem showVelocityAndGain) + ToolStripMenuItem showVelocityAndGain, + DeviceIDManager deviceIDManager) { ActiveAccel = activeAccel; DpiField = dpiField; PollRateField = pollRateField; AutoWriteMenuItem = autoWrite; - UseSpecificDeviceMenuItem = useSpecificDevice; ShowLastMouseMoveMenuItem = showLastMouseMove; ShowVelocityAndGainMoveMenuItem = showVelocityAndGain; + DeviceIDManager = deviceIDManager; } #endregion Constructors @@ -43,12 +44,12 @@ namespace grapher.Models.Serialized private ToolStripMenuItem AutoWriteMenuItem { get; set; } - private ToolStripMenuItem UseSpecificDeviceMenuItem { get; set; } - private ToolStripMenuItem ShowLastMouseMoveMenuItem { get; set; } private ToolStripMenuItem ShowVelocityAndGainMoveMenuItem { get; set; } + private DeviceIDManager DeviceIDManager { get; } + #endregion Properties #region Methods @@ -66,66 +67,6 @@ namespace grapher.Models.Serialized return errors; } - private void SpecificDeviceClickHnadler(Object o, EventArgs a, string hwid) - { - var item = (ToolStripMenuItem)o; - foreach (ToolStripMenuItem i in UseSpecificDeviceMenuItem.DropDownItems) - { - i.Checked = false; - } - item.Checked = true; - if (hwid == null || hwid == "") - { - UseSpecificDeviceMenuItem.Checked = false; - } else - { - UseSpecificDeviceMenuItem.Checked = true; - } - RawAccelSettings.AccelerationSettings.deviceHardwareID = hwid; - - TryUpdateActiveSettings(RawAccelSettings.AccelerationSettings); - - } - private void UpdateUseSpecificDeviceMenu() - { - var hwid = RawAccelSettings.AccelerationSettings.deviceHardwareID; - if (hwid == null) { hwid = ""; } - - UseSpecificDeviceMenuItem.Checked = hwid.Length > 0; - UseSpecificDeviceMenuItem.DropDownItems.Clear(); - - var any_device = new ToolStripMenuItem(); - any_device.Text = ""; - any_device.Checked = hwid.Length == 0; - any_device.Click += new EventHandler(delegate(Object o, EventArgs a) { SpecificDeviceClickHnadler(o, a, ""); }); - UseSpecificDeviceMenuItem.DropDownItems.Add(any_device); - - var hwid_not_found = true; - - foreach (Tuple device in Models.Devices.DeviceList.GetDeviceHardwareIDs()) - { - if (hwid == device.Item2) - { - hwid_not_found = false; - } - var dev = new ToolStripMenuItem(); - dev.Text = device.Item1; - dev.Checked = device.Item2 == RawAccelSettings.AccelerationSettings.deviceHardwareID; - dev.Click += new EventHandler(delegate (Object o, EventArgs a) { SpecificDeviceClickHnadler(o, a, device.Item2); }); - UseSpecificDeviceMenuItem.DropDownItems.Add(dev); - } - - if (hwid.Length > 0 && hwid_not_found) - { - var current_hwid = new ToolStripMenuItem(); - current_hwid.Text = "Disconnected (" + hwid + ")"; - current_hwid.ForeColor = Color.DarkGray; - current_hwid.Checked = true; - current_hwid.Click += new EventHandler(delegate (Object o, EventArgs a) { SpecificDeviceClickHnadler(o, a, hwid); }); - UseSpecificDeviceMenuItem.DropDownItems.Add(current_hwid); - } - } - public void UpdateFieldsFromGUISettings() { DpiField.SetToEntered(RawAccelSettings.GUISettings.DPI); @@ -133,6 +74,7 @@ namespace grapher.Models.Serialized ShowLastMouseMoveMenuItem.Checked = RawAccelSettings.GUISettings.ShowLastMouseMove; ShowVelocityAndGainMoveMenuItem.Checked = RawAccelSettings.GUISettings.ShowVelocityAndGain; AutoWriteMenuItem.Checked = RawAccelSettings.GUISettings.AutoWriteToDriverOnStartup; + DeviceIDManager.OnStartup(RawAccelSettings.AccelerationSettings.deviceHardwareID); } public SettingsErrors TryUpdateAccel(DriverSettings settings) @@ -175,7 +117,6 @@ namespace grapher.Models.Serialized { RawAccelSettings = RawAccelSettings.Load(() => MakeGUISettingsFromFields()); UpdateFieldsFromGUISettings(); - UpdateUseSpecificDeviceMenu(); if (RawAccelSettings.GUISettings.AutoWriteToDriverOnStartup) { TryUpdateAccel(RawAccelSettings.AccelerationSettings); -- cgit v1.2.3 From 0e60e22b73dd0693b349cbb63cf9a390c01fd5dd Mon Sep 17 00:00:00 2001 From: a1xd <68629610+a1xd@users.noreply.github.com> Date: Tue, 12 Jan 2021 17:01:18 -0500 Subject: filter raw input based on id use device id (from device instance) over first hardware id use buffered method for all ioctls update gui/DeviceIDManager to match driver behavior respond to device change events desync MouseData and PointData accessors --- grapher/Models/Serialized/SettingsManager.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'grapher/Models/Serialized/SettingsManager.cs') diff --git a/grapher/Models/Serialized/SettingsManager.cs b/grapher/Models/Serialized/SettingsManager.cs index 4dbf7bf..40652dd 100644 --- a/grapher/Models/Serialized/SettingsManager.cs +++ b/grapher/Models/Serialized/SettingsManager.cs @@ -42,14 +42,14 @@ namespace grapher.Models.Serialized public Field PollRateField { get; private set; } + public DeviceIDManager DeviceIDManager { get; } + private ToolStripMenuItem AutoWriteMenuItem { get; set; } private ToolStripMenuItem ShowLastMouseMoveMenuItem { get; set; } private ToolStripMenuItem ShowVelocityAndGainMoveMenuItem { get; set; } - private DeviceIDManager DeviceIDManager { get; } - #endregion Properties #region Methods @@ -74,7 +74,6 @@ namespace grapher.Models.Serialized ShowLastMouseMoveMenuItem.Checked = RawAccelSettings.GUISettings.ShowLastMouseMove; ShowVelocityAndGainMoveMenuItem.Checked = RawAccelSettings.GUISettings.ShowVelocityAndGain; AutoWriteMenuItem.Checked = RawAccelSettings.GUISettings.AutoWriteToDriverOnStartup; - DeviceIDManager.OnStartup(RawAccelSettings.AccelerationSettings.deviceHardwareID); } public SettingsErrors TryUpdateAccel(DriverSettings settings) -- cgit v1.2.3