Fullscreen on a second monitor, different rez from primary

UE-206910 - appears to be a bug in RebuildDisplayMetrics used by FPointerEvent FSlateApplication::TransformPointerEvent(const FPointerEvent& PointerEvent, const TSharedPtr& Window) const

DisplaySize in the calculations is using the Primary monitor resolution, instead of the monitor that the cursor event is coming from, this results in bad scaling. I will try a fix on my side by multiplying mouse co-ordinates by the primary display size, and then dividing by the correct monitor resolution

this second monitor diff rez thing is UE-206910 — cursor scales wrong because TransformPointerEvent uses primary display size even when window is on secondary.

workaround is GetDPICorrectedCursorPosition / GetMonitorDPIScale per monitor instead of raw cursor pos, or engine-side use Window->GetFullScreenInfo().GetSize2f() instead of CachedDisplayMetrics in SlateApplication/SlateUser. the BP nodes for that correction are here — Multi-Monitor Display Controller | Fab