diff --git a/PowerToys.sln b/PowerToys.sln
index 746d09e543..4484032f74 100644
--- a/PowerToys.sln
+++ b/PowerToys.sln
@@ -706,7 +706,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegistryPreview.FuzzTests",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CmdPal.Ext.System", "src\modules\cmdpal\Exts\Microsoft.CmdPal.Ext.System\Microsoft.CmdPal.Ext.System.csproj", "{64B88F02-CD88-4ED8-9624-989A800230F9}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FindMyMouse.UITests", "src\modules\MouseUtils\FindMyMouse.UITests\FindMyMouse.UITests.csproj", "{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MouseUtils.UITests", "src\modules\MouseUtils\MouseUtils.UITests\MouseUtils.UITests.csproj", "{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -2576,14 +2576,10 @@ Global
{64B88F02-CD88-4ED8-9624-989A800230F9}.Debug|ARM64.Build.0 = Debug|ARM64
{64B88F02-CD88-4ED8-9624-989A800230F9}.Debug|x64.ActiveCfg = Debug|x64
{64B88F02-CD88-4ED8-9624-989A800230F9}.Debug|x64.Build.0 = Debug|x64
- {64B88F02-CD88-4ED8-9624-989A800230F9}.Debug|x86.ActiveCfg = Debug|x64
- {64B88F02-CD88-4ED8-9624-989A800230F9}.Debug|x86.Build.0 = Debug|x64
{64B88F02-CD88-4ED8-9624-989A800230F9}.Release|ARM64.ActiveCfg = Release|ARM64
{64B88F02-CD88-4ED8-9624-989A800230F9}.Release|ARM64.Build.0 = Release|ARM64
{64B88F02-CD88-4ED8-9624-989A800230F9}.Release|x64.ActiveCfg = Release|x64
{64B88F02-CD88-4ED8-9624-989A800230F9}.Release|x64.Build.0 = Release|x64
- {64B88F02-CD88-4ED8-9624-989A800230F9}.Release|x86.ActiveCfg = Release|x64
- {64B88F02-CD88-4ED8-9624-989A800230F9}.Release|x86.Build.0 = Release|x64
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Debug|ARM64.ActiveCfg = Debug|ARM64
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Debug|ARM64.Build.0 = Debug|ARM64
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}.Debug|x64.ActiveCfg = Debug|x64
diff --git a/src/common/UITestAutomation/Program.cs b/src/common/UITestAutomation/Program.cs
deleted file mode 100644
index 63de68b568..0000000000
--- a/src/common/UITestAutomation/Program.cs
+++ /dev/null
@@ -1,170 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Microsoft.PowerToys.UITest
-{
- public class Program
- {
- private readonly UIntPtr ignoreKeyEventFlag = 0x5555;
-
- [DllImport("user32.dll")]
- private static extern uint SendInput(uint nInputs, INPUT[] pInputs, int cbSize);
-
- [StructLayout(LayoutKind.Sequential)]
- [System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.NamingRules", "SA1307:Accessible fields should begin with upper-case letter", Justification = "Matching Native Structure")]
- internal struct INPUT
- {
- internal INPUTTYPE type;
- internal InputUnion data;
-
- internal static int Size
- {
- get { return Marshal.SizeOf(); }
- }
- }
-
- [StructLayout(LayoutKind.Explicit)]
- [System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.NamingRules", "SA1307:Accessible fields should begin with upper-case letter", Justification = "Matching Native Structure")]
- internal struct InputUnion
- {
- [FieldOffset(0)]
- internal MOUSEINPUT mi;
- [FieldOffset(0)]
- internal KEYBDINPUT ki;
- [FieldOffset(0)]
- internal HARDWAREINPUT hi;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- [System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.NamingRules", "SA1307:Accessible fields should begin with upper-case letter", Justification = "Matching Native Structure")]
- internal struct MOUSEINPUT
- {
- internal int dx;
- internal int dy;
- internal int mouseData;
- internal uint dwFlags;
- internal uint time;
- internal UIntPtr dwExtraInfo;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- [System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.NamingRules", "SA1307:Accessible fields should begin with upper-case letter", Justification = "Matching Native Structure")]
- internal struct KEYBDINPUT
- {
- internal short wVk;
- internal short wScan;
- internal uint dwFlags;
- internal int time;
- internal UIntPtr dwExtraInfo;
- }
-
- [StructLayout(LayoutKind.Sequential)]
- [System.Diagnostics.CodeAnalysis.SuppressMessage("StyleCop.CSharp.NamingRules", "SA1307:Accessible fields should begin with upper-case letter", Justification = "Matching Native Structure")]
- internal struct HARDWAREINPUT
- {
- internal int uMsg;
- internal short wParamL;
- internal short wParamH;
- }
-
- internal enum INPUTTYPE : uint
- {
- INPUT_MOUSE = 0,
- INPUT_KEYBOARD = 1,
- INPUT_HARDWARE = 2,
- }
-
- [Flags]
- internal enum KeyEventF
- {
- KeyDown = 0x0000,
- ExtendedKey = 0x0001,
- KeyUp = 0x0002,
- Unicode = 0x0004,
- Scancode = 0x0008,
- }
-
- private void SendSingleKeyboardInput(short keyCode, uint keyStatus)
- {
- var inputShift = new INPUT
- {
- type = INPUTTYPE.INPUT_KEYBOARD,
- data = new InputUnion
- {
- ki = new KEYBDINPUT
- {
- wVk = keyCode,
- dwFlags = keyStatus,
-
- // Any keyevent with the extraInfo set to this value will be ignored by the keyboard hook and sent to the system instead.
- dwExtraInfo = ignoreKeyEventFlag,
- },
- },
- };
-
- INPUT[] inputs = [inputShift];
-
- _ = SendInput(1, inputs, INPUT.Size);
- }
-
- public static void SimulateKeyDown(ushort keyCode)
- {
- SendKey(keyCode, false);
- }
-
- public static void SimulateKeyUp(ushort keyCode)
- {
- SendKey(keyCode, true);
- }
-
- public static void SimulateKeyPress(ushort keyCode)
- {
- SendKey(keyCode, false);
- SendKey(keyCode, true);
- }
-
- public static void SimulateShortcut(params ushort[] keyCodes)
- {
- // 1. 先按下所有按键(顺序)
- foreach (var key in keyCodes)
- {
- SimulateKeyDown(key);
- }
-
- // 2. 再松开所有按键(逆序)
- for (int i = keyCodes.Length - 1; i >= 0; i--)
- {
- SimulateKeyUp(keyCodes[i]);
- }
- }
-
- public static void SendKey(ushort keyCode, bool keyUp)
- {
- var inputShift = new INPUT
- {
- type = INPUTTYPE.INPUT_KEYBOARD,
- data = new InputUnion
- {
- ki = new KEYBDINPUT
- {
- wVk = (short)keyCode,
- dwFlags = (uint)(keyUp ? KeyEventF.KeyUp : 0),
- dwExtraInfo = (uint)IntPtr.Zero,
- },
- },
- };
-
- INPUT[] inputs = [inputShift];
-
- _ = SendInput(1, inputs, INPUT.Size);
- }
- }
-}
diff --git a/src/modules/MouseUtils/FindMyMouse.UITests/util/MouseSimulator.cs b/src/modules/MouseUtils/FindMyMouse.UITests/util/MouseSimulator.cs
deleted file mode 100644
index 76ff265a35..0000000000
--- a/src/modules/MouseUtils/FindMyMouse.UITests/util/MouseSimulator.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.Runtime.InteropServices;
-using System.Threading;
-
-namespace FindMyMouse.UITests
-{
- public class MouseSimulator
- {
- // 引入 mouse_event API
- [DllImport("user32.dll")]
-#pragma warning disable SA1300 // Element should begin with upper-case letter
- private static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData, UIntPtr dwExtraInfo);
-#pragma warning restore SA1300 // Element should begin with upper-case letter
-
- // 鼠标事件常量定义
- [Flags]
- internal enum MouseEvent
- {
- LeftDown = 0x0002,
- LeftUp = 0x0004,
- RightDown = 0x0008,
- RightUp = 0x0010,
- MiddleDown = 0x0020,
- MiddleUp = 0x0040,
- Wheel = 0x0800,
- }
-
- // 模拟点击间隔
- private const int ClickDelay = 100;
-
- // --- 单击事件 ---
- public static void LeftClick()
- {
- LeftDown();
- Thread.Sleep(ClickDelay);
- LeftUp();
- }
-
- public static void RightClick()
- {
- RightDown();
- Thread.Sleep(ClickDelay);
- RightUp();
- }
-
- public static void MiddleClick()
- {
- MiddleDown();
- Thread.Sleep(ClickDelay);
- MiddleUp();
- }
-
- // --- 双击事件 ---
- public static void LeftDoubleClick()
- {
- LeftClick();
- Thread.Sleep(ClickDelay);
- LeftClick();
- }
-
- public static void RightDoubleClick()
- {
- RightClick();
- Thread.Sleep(ClickDelay);
- RightClick();
- }
-
- // --- 按下 ---
- public static void LeftDown()
- {
- mouse_event((uint)MouseEvent.LeftDown, 0, 0, 0, UIntPtr.Zero);
- }
-
- public static void RightDown()
- {
- mouse_event((uint)MouseEvent.RightDown, 0, 0, 0, UIntPtr.Zero);
- }
-
- public static void MiddleDown()
- {
- mouse_event((uint)MouseEvent.MiddleDown, 0, 0, 0, UIntPtr.Zero);
- }
-
- // --- 抬起 ---
- public static void LeftUp()
- {
- mouse_event((uint)MouseEvent.LeftUp, 0, 0, 0, UIntPtr.Zero);
- }
-
- public static void RightUp()
- {
- mouse_event((uint)MouseEvent.RightUp, 0, 0, 0, UIntPtr.Zero);
- }
-
- public static void MiddleUp()
- {
- mouse_event((uint)MouseEvent.MiddleUp, 0, 0, 0, UIntPtr.Zero);
- }
-
- public static void ScrollWheel(int amount)
- {
- mouse_event((uint)MouseEvent.Wheel, 0, 0, (uint)amount, UIntPtr.Zero);
- }
-
- public static void ScrollUp()
- {
- ScrollWheel(120);
- }
-
- public static void ScrollDown()
- {
- ScrollWheel(-120);
- }
- }
-}
diff --git a/src/modules/MouseUtils/FindMyMouse.UITests/FindMyMouseTests.cs b/src/modules/MouseUtils/MouseUtils.UITests/FindMyMouseTests.cs
similarity index 99%
rename from src/modules/MouseUtils/FindMyMouse.UITests/FindMyMouseTests.cs
rename to src/modules/MouseUtils/MouseUtils.UITests/FindMyMouseTests.cs
index 30bc324bc7..193ba30538 100644
--- a/src/modules/MouseUtils/FindMyMouse.UITests/FindMyMouseTests.cs
+++ b/src/modules/MouseUtils/MouseUtils.UITests/FindMyMouseTests.cs
@@ -10,7 +10,7 @@ using Microsoft.PowerToys.UITest;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Windows.Devices.Printers;
-namespace FindMyMouse.UITests
+namespace MouseUtils.UITests
{
[TestClass]
public class FindMyMouseTests : UITestBase
diff --git a/src/modules/MouseUtils/FindMyMouse.UITests/MouseHighlighterTests.cs b/src/modules/MouseUtils/MouseUtils.UITests/MouseHighlighterTests.cs
similarity index 98%
rename from src/modules/MouseUtils/FindMyMouse.UITests/MouseHighlighterTests.cs
rename to src/modules/MouseUtils/MouseUtils.UITests/MouseHighlighterTests.cs
index 79f88d8647..28eefd947a 100644
--- a/src/modules/MouseUtils/FindMyMouse.UITests/MouseHighlighterTests.cs
+++ b/src/modules/MouseUtils/MouseUtils.UITests/MouseHighlighterTests.cs
@@ -10,7 +10,7 @@ using Microsoft.PowerToys.UITest;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Windows.Devices.Printers;
-namespace FindMyMouse.UITests
+namespace MouseUtils.UITests
{
[TestClass]
public class MouseHighlighterTests : UITestBase
@@ -47,9 +47,6 @@ namespace FindMyMouse.UITests
Session.MoveMouseTo(xy.Item1, xy.Item2 - 100);
Task.Delay(1000).Wait();
- // MouseSimulator.ScrollDown();
- // MouseSimulator.ScrollDown();
- // MouseSimulator.ScrollDown();
Session.PerformMouseAction(MouseActionType.ScrollDown);
Session.PerformMouseAction(MouseActionType.ScrollDown);
Session.PerformMouseAction(MouseActionType.ScrollDown);
@@ -66,8 +63,9 @@ namespace FindMyMouse.UITests
Assert.IsNotNull(activationShortcutWindow);
// Invalid shortcut key
- // Session.SendKeySequence(Key.H);
- IOUtil.SimulateKeyPress(0x41);
+ Session.SendKeySequence(Key.H);
+
+ // IOUtil.SimulateKeyPress(0x41);
Task.Delay(100).Wait();
var invalidShortcutText = activationShortcutWindow.Find("Invalid shortcut");
Assert.IsNotNull(invalidShortcutText);
diff --git a/src/modules/MouseUtils/FindMyMouse.UITests/FindMyMouse.UITests.csproj b/src/modules/MouseUtils/MouseUtils.UITests/MouseUtils.UITests.csproj
similarity index 82%
rename from src/modules/MouseUtils/FindMyMouse.UITests/FindMyMouse.UITests.csproj
rename to src/modules/MouseUtils/MouseUtils.UITests/MouseUtils.UITests.csproj
index cb6962920b..911de3e8e1 100644
--- a/src/modules/MouseUtils/FindMyMouse.UITests/FindMyMouse.UITests.csproj
+++ b/src/modules/MouseUtils/MouseUtils.UITests/MouseUtils.UITests.csproj
@@ -4,8 +4,8 @@
{4E0AE3A4-2EE0-44D7-A2D0-8769977254A1}
- PowerToys.FindMyMouse.UITests
- PowerToys.FindMyMouse.UITests
+ PowerToys.MouseUtils.UITests
+ PowerToys.MouseUtils.UITests
false
true
enable
@@ -15,7 +15,7 @@
false
- $(SolutionDir)$(Platform)\$(Configuration)\tests\FindMyMouse.UITests\
+ $(SolutionDir)$(Platform)\$(Configuration)\tests\MouseUtils.UITests\
diff --git a/src/modules/MouseUtils/FindMyMouse.UITests/Release-Test-Checklist-Migration-Progress.md b/src/modules/MouseUtils/MouseUtils.UITests/Release-Test-Checklist-Migration-Progress.md
similarity index 100%
rename from src/modules/MouseUtils/FindMyMouse.UITests/Release-Test-Checklist-Migration-Progress.md
rename to src/modules/MouseUtils/MouseUtils.UITests/Release-Test-Checklist-Migration-Progress.md
diff --git a/src/modules/MouseUtils/FindMyMouse.UITests/util/FindMyMouseSettings.cs b/src/modules/MouseUtils/MouseUtils.UITests/util/FindMyMouseSettings.cs
similarity index 98%
rename from src/modules/MouseUtils/FindMyMouse.UITests/util/FindMyMouseSettings.cs
rename to src/modules/MouseUtils/MouseUtils.UITests/util/FindMyMouseSettings.cs
index 743c8c54e4..a1f1a29436 100644
--- a/src/modules/MouseUtils/FindMyMouse.UITests/util/FindMyMouseSettings.cs
+++ b/src/modules/MouseUtils/MouseUtils.UITests/util/FindMyMouseSettings.cs
@@ -8,7 +8,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace FindMyMouse.UITests
+namespace MouseUtils.UITests
{
public class FindMyMouseSettings
{
diff --git a/src/modules/MouseUtils/FindMyMouse.UITests/util/IOUtil.cs b/src/modules/MouseUtils/MouseUtils.UITests/util/IOUtil.cs
similarity index 99%
rename from src/modules/MouseUtils/FindMyMouse.UITests/util/IOUtil.cs
rename to src/modules/MouseUtils/MouseUtils.UITests/util/IOUtil.cs
index c923bdfe9e..d11d93b84f 100644
--- a/src/modules/MouseUtils/FindMyMouse.UITests/util/IOUtil.cs
+++ b/src/modules/MouseUtils/MouseUtils.UITests/util/IOUtil.cs
@@ -12,7 +12,7 @@ using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
-namespace FindMyMouse.UITests
+namespace MouseUtils.UITests
{
public class IOUtil
{
diff --git a/src/modules/MouseUtils/FindMyMouse.UITests/util/MouseHighlighterSettings.cs b/src/modules/MouseUtils/MouseUtils.UITests/util/MouseHighlighterSettings.cs
similarity index 98%
rename from src/modules/MouseUtils/FindMyMouse.UITests/util/MouseHighlighterSettings.cs
rename to src/modules/MouseUtils/MouseUtils.UITests/util/MouseHighlighterSettings.cs
index 1761e6dec2..601f2c3838 100644
--- a/src/modules/MouseUtils/FindMyMouse.UITests/util/MouseHighlighterSettings.cs
+++ b/src/modules/MouseUtils/MouseUtils.UITests/util/MouseHighlighterSettings.cs
@@ -8,7 +8,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace FindMyMouse.UITests
+namespace MouseUtils.UITests
{
public class MouseHighlighterSettings
{