Переводим мышь в центр экрана
Перевести курсор в центр основного экрана
Выполним один вызов из верхнеуровневого файла действия C# Script. Нужен доступный настроенный симулятор ввода EyeAuras. Это перемещение настоящего курсора, в экранных координатах основного монитора, не в координатах клиентской области окна.
Импортировать готовый пример можно отсюда https://eu.eyeauras.net/share/S202402240046520BBKcR6QKL07
- Создаем ауру
- Кидаем в нее
HotkeyIsActiveи биндим на удобную кнопку (это будет наш вкл/выкл, в примереF3), меняем тип активации наClick/Hold - Добавляем в
On EnterдействиеC# Script - Копипастим сам скрипт
- При нажатии на
F3курсор переведется в центр основного экрана
using EyeAuras.Roxy.Api;
using PoeShared.Scaffolding;
var sendInputApi = GetService<ISendInputScriptingApi>(); // нужно для отправки ввода
sendInputApi.TargetWindow = null; // экранная точка, без преобразования относительно окна
var screenSize = System.Windows.Forms.SystemInformation.PrimaryMonitorSize; // берем размер основного экрана
Log.Info($"Primary monitor size: {screenSize}");
sendInputApi.MouseMoveTo(screenSize.Width / 2, screenSize.Height / 2); // переводим в центр
При F3 курсор окажется в центре основного монитора, размеры которого напечатаны в журнале. Это не центр всего виртуального рабочего стола. TargetWindow = null существенен: ненулевое окно может быть активировано, а координаты преобразованы контроллером. Этот синхронный вызов не принимает токен отмены; получение сервиса не означает владение системным устройством ввода. Подробнее — карта ввода.