BizHawk icon indicating copy to clipboard operation
BizHawk copied to clipboard

Window position as input axis

Open YoshiRulz opened this issue 1 month ago • 7 comments

Useful for:

  • DS スライドアドベンチャー マグキッド / Slide Adventure: Mag Kid
  • maybe 3DS XR titles

IMO the best way to handle screen edges is to pretend they don't exist. mainform.X / (screen.Width - mainform.Width)

YoshiRulz avatar Dec 07 '25 21:12 YoshiRulz

Window position? As in, if you want to do stuff in the game you gotta drag the emuhawk window around? Doesn't sound like a great user experience.

Morilli avatar Dec 08 '25 21:12 Morilli

As in, if you want to do stuff in the game you gotta drag the emuhawk window around?

This would be useless on Windows without heavy refactoring, dragging the windows means the main thread is stuck in message pumping, implicitly pausing emulation. I don't know how Linux reacts (might not perform this same blocking behavior, or maybe it does).

CasualPokePlayer avatar Dec 09 '25 00:12 CasualPokePlayer

Oh yeah I forgot about that :( For Mag Kid it might be possible to fake the effect by maximising the window and using a Lua script to adjust the padding.

I also forgot to mention that this feature would clash with the shake window for rumble feature, should we ever add that.

YoshiRulz avatar Dec 09 '25 14:12 YoshiRulz

It would also clash with several Windows features:

  • window snapping / tiling by dragging them to screen borders
  • shaking a window to minimize all other windows
  • "Show window contents while dragging" may be disabled by default on low end windows systems

shenef avatar Dec 09 '25 15:12 shenef

Window-dragging is a neat idea, but the mouse is probably sufficient and preferable in practice.

Another obstacle for window-dragging is that you would need a way to reset the position so you can continuously traverse in one direction without running out of screen space. Maybe having it reset to center while not dragging would be sufficient.

RetroEdit avatar Dec 09 '25 22:12 RetroEdit

I hacked in controls using window movement into my slide controller fork of DeSmuME and I have to say, this is not a pleasant way to control the game at all.

https://github.com/user-attachments/assets/bb60396b-fd26-4616-988e-99625d44e525

windwakr avatar Dec 10 '25 20:12 windwakr

That honestly doesn't look that bad. 2x window scale might smooth it out (since it's quantised to window-position-pixels, much rougher than mouse movement).

YoshiRulz avatar Dec 10 '25 21:12 YoshiRulz