Quality-of-life changes, mostly from playing with Dimensions Recompiled (the native PC port), but everything works the same with any emulator.
Window size
- Settings → Appearance → Window size: 100 / 90 / 80 / 70 / 60%.
- The frame is still laid out at 900×610 and shrunk once at present time, so no layout code changed. Mouse positions are scaled back.
- Saved as
[Window] ScaleinLegoToypad.ini.
Rebindable keyboard keys
- Settings → Keyboard keys: every picker key (arrows, Enter, Esc, S, M, L, C, G, Z,
[,]) can be rebound. Press a key to set it; Esc cancels, Backspace restores the default. - A key that is already used swaps with the other action, so nothing ends up unbound by accident. Esc always still works as Back unless it's given to another action, so a bad rebind can't trap anyone in a screen.
- The hints and the Keyboard layout screen show the current keys. Saved under
[Keyboard]as VK codes.
Sneak peek from the keyboard
- New Sneak peek (hold) key, default Left Shift. It's read with
GetAsyncKeyStatewhile the picker is hidden, so it never takes the key away from the game. - When Dimensions Recompiled is running, it only reacts while the game is in front, so holding Shift in a browser doesn't pop the HUD up.
Focus fixes
- Keyboard focus on open: the picker could become the active window with no focus window, so arrow keys did nothing until it was clicked. It now calls
SetFocusafter activation, with aSwitchToThisWindowfallback and about 0.5 s of retries. - Focus back on close: it was handed back after hiding the window, when Windows is free to refuse it. Now it's handed over before hiding, with an Alt-tap retry.
- Alt+Tab / Win key hide the picker and leave focus where the player went. This is detected by polling the foreground on the tick, because
WM_ACTIVATEAPPalone didn't fire reliably for the layered tool window.
Dimensions Recompiled detection
- If
legodimensions.exeis running, the picker opens on its monitor and closing it returns focus to the game window. Without it, behaviour is unchanged. - Settings → System shows whether it's running.
Tested on Windows 11 with Dimensions Recompiled. I measured over 4 open/close cycles that the picker gets keyboard focus on every open and the game gets it back on every close.