diff --git a/src/modules/colorPicker/ColorPickerUI/ColorPickerUI.csproj b/src/modules/colorPicker/ColorPickerUI/ColorPickerUI.csproj
index 24e6d8dd48..cc9a23bf56 100644
--- a/src/modules/colorPicker/ColorPickerUI/ColorPickerUI.csproj
+++ b/src/modules/colorPicker/ColorPickerUI/ColorPickerUI.csproj
@@ -62,6 +62,9 @@
+
+
+
ZoomWindow.xaml
@@ -177,6 +180,10 @@
{4AED67B6-55FD-486F-B917-E543DEE2CB3C}
ManagedCommon
+
+ {5d00d290-4016-4cfe-9e41-1e7c724509ba}
+ Telemetry
+
{b1bcc8c6-46b5-4bfa-8f22-20f32d99ec6a}
Microsoft.PowerToys.Settings.UI.Lib
diff --git a/src/modules/colorPicker/ColorPickerUI/Helpers/ZoomWindowHelper.cs b/src/modules/colorPicker/ColorPickerUI/Helpers/ZoomWindowHelper.cs
index 57aa023c95..e8f93280ee 100644
--- a/src/modules/colorPicker/ColorPickerUI/Helpers/ZoomWindowHelper.cs
+++ b/src/modules/colorPicker/ColorPickerUI/Helpers/ZoomWindowHelper.cs
@@ -1,4 +1,6 @@
-using ColorPicker.ViewModelContracts;
+using ColorPicker.Telemetry;
+using ColorPicker.ViewModelContracts;
+using Microsoft.PowerToys.Telemetry;
using System;
using System.ComponentModel.Composition;
using System.Drawing;
@@ -163,6 +165,7 @@ namespace ColorPicker.Helpers
{
_zoomWindow.Left = _lastLeft + 1;
_zoomWindow.Top = _lastTop + 1;
+ PowerToysTelemetry.Log.WriteEvent(new ColorPickerZoomOpenedEvent());
}
_zoomWindow.DesiredLeft = _lastLeft;
diff --git a/src/modules/colorPicker/ColorPickerUI/Keyboard/KeyboardMonitor.cs b/src/modules/colorPicker/ColorPickerUI/Keyboard/KeyboardMonitor.cs
index 55b5aad958..89bc444f74 100644
--- a/src/modules/colorPicker/ColorPickerUI/Keyboard/KeyboardMonitor.cs
+++ b/src/modules/colorPicker/ColorPickerUI/Keyboard/KeyboardMonitor.cs
@@ -1,9 +1,12 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.Composition;
+using System.Windows.Input;
using ColorPicker.Helpers;
using ColorPicker.Settings;
+using ColorPicker.Telemetry;
using Microsoft.PowerToys.Settings.UI.Lib.Utilities;
+using Microsoft.PowerToys.Telemetry;
namespace ColorPicker.Keyboard
{
@@ -56,6 +59,14 @@ namespace ColorPicker.Keyboard
private void Hook_KeyboardPressed(object sender, GlobalKeyboardHookEventArgs e)
{
var virtualCode = e.KeyboardData.VirtualCode;
+ // ESC pressed
+ if(virtualCode == KeyInterop.VirtualKeyFromKey(Key.Escape))
+ {
+ _currentlyPressedKeys.Clear();
+ _appStateHandler.HideColorPicker();
+ PowerToysTelemetry.Log.WriteEvent(new ColorPickerCancelledEvent());
+ }
+
var name = Helper.GetKeyName((uint)virtualCode);
// we got modifier with additional info such as "Ctrl (left)" - get rid of parenthesess
diff --git a/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerCancelledEvent.cs b/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerCancelledEvent.cs
new file mode 100644
index 0000000000..39b902caac
--- /dev/null
+++ b/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerCancelledEvent.cs
@@ -0,0 +1,12 @@
+using Microsoft.PowerToys.Telemetry;
+using Microsoft.PowerToys.Telemetry.Events;
+using System.Diagnostics.Tracing;
+
+namespace ColorPicker.Telemetry
+{
+ [EventData]
+ public class ColorPickerCancelledEvent : EventBase, IEvent
+ {
+ public PartA_PrivTags PartA_PrivTags => PartA_PrivTags.ProductAndServiceUsage;
+ }
+}
diff --git a/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerShowEvent.cs b/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerShowEvent.cs
new file mode 100644
index 0000000000..ec8cf8905a
--- /dev/null
+++ b/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerShowEvent.cs
@@ -0,0 +1,12 @@
+using Microsoft.PowerToys.Telemetry;
+using Microsoft.PowerToys.Telemetry.Events;
+using System.Diagnostics.Tracing;
+
+namespace ColorPicker.Telemetry
+{
+ [EventData]
+ public class ColorPickerShowEvent : EventBase, IEvent
+ {
+ public PartA_PrivTags PartA_PrivTags => PartA_PrivTags.ProductAndServiceUsage;
+ }
+}
diff --git a/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerZoomOpenedEvent.cs b/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerZoomOpenedEvent.cs
new file mode 100644
index 0000000000..edd7e8d8ed
--- /dev/null
+++ b/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerZoomOpenedEvent.cs
@@ -0,0 +1,12 @@
+using Microsoft.PowerToys.Telemetry;
+using Microsoft.PowerToys.Telemetry.Events;
+using System.Diagnostics.Tracing;
+
+namespace ColorPicker.Telemetry
+{
+ [EventData]
+ public class ColorPickerZoomOpenedEvent : EventBase, IEvent
+ {
+ public PartA_PrivTags PartA_PrivTags => PartA_PrivTags.ProductAndServiceUsage;
+ }
+}
diff --git a/src/modules/colorPicker/ColorPickerUI/ViewModels/MainViewModel.cs b/src/modules/colorPicker/ColorPickerUI/ViewModels/MainViewModel.cs
index d5afff5a59..1c8897992c 100644
--- a/src/modules/colorPicker/ColorPickerUI/ViewModels/MainViewModel.cs
+++ b/src/modules/colorPicker/ColorPickerUI/ViewModels/MainViewModel.cs
@@ -10,7 +10,9 @@ using ColorPicker.Keyboard;
using ColorPicker.Mouse;
using ColorPicker.Settings;
using ColorPicker.ViewModelContracts;
+using ColorPicker.Telemetry;
using Microsoft.PowerToys.Settings.UI.Lib;
+using Microsoft.PowerToys.Telemetry;
namespace ColorPicker.ViewModels
{
@@ -108,6 +110,7 @@ namespace ColorPicker.ViewModels
CopyToClipboard(colorRepresentationToCopy);
_appStateHandler.HideColorPicker();
+ PowerToysTelemetry.Log.WriteEvent(new ColorPickerShowEvent());
}
private static void CopyToClipboard(string colorRepresentationToCopy)