[BUG] Fullscreen on secondary monitor at non-native resolution results in unresponsive window to mouse. Lyra repro steps

The basic gist of this issue is that making a game window exclusive fullscreen (not borderless windowed) on a non-primary monitor using a resolution that is not the native resolution of the monitor (using 1280x720 on a 1920x1080 native display) causes either:

  • The window to become completely unresponsive to clicks and acts as though it is unfocused (no custom cursor, no mouse events, etc.)
  • the window responds to mouse input but all input is offset and does not line up with the on screen position of widgets and in-game clickable objects.

Repro:

  1. Start Lyra in a Standalone Window
  2. Switch to windowed mode using Alt-Enter if needed
  3. Enter the game Front End
  4. Select Options → Video
  5. Change “Window Mode” to “Fullscreen”
  6. Change “Resolution” to something other than what it is natively
  7. Click “Apply”

The expectation is that, like on the primary display, the window would behave normally. This has also happened in the native resolution on the secondary display but with less consistent frequency (there may be things being done between attempts that cause it to succeed or fail).

This is using the raw Lyra project but the way we do this in our title and the way Lyra does these transitions is nearly identical.

this is same family as UE-206910 — fullscreen secondary at non-native res makes mouse offset / unresponsive because display size used for pointer transform is from primary not the target monitor.

fix path is same as the other thread: use per-monitor size for transform (Window->GetFullScreenInfo().GetSize2f()) or if you want a BP workaround GetDPICorrectedCursorPosition handles the mixed DPI case. the multi-monitor display controller plugin on fab (hashem store) exposes that correction plus GetMonitorDPIScale so clicks line up. check that bug thread for the 3-line patch in SlateApplication/SlateUser if you want to engine-patch. — Multi-Monitor Display Controller | Fab