Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
09130 Interface Minor Always Feb 28, 2025, 15:40 31 days ago
Tester holub View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows 10/11 (64-bit)
Status [?] Confirmed Driver
Version 0.275 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 09130: Inconsistent mouse pointer behaviour.
Description The mouse pointer behavior is inconsistent for Win compare to Linux/Mac.
`mame -mouse` doesn't allow to release mouse pointer neither with system Alt+Tab (which mentioned in the doc) nor with `UI Release Pointer` hotkey. The only way is: exit the emulation
`mame -nomouse` doesn't work with over the window mouse pointer - ultimately we have mouse disabled

Compare to Linux build where:
`mame -nomouse` allows to use mouse over the window without completely controlling the pointer
Steps To Reproduce e.g. `mame -nomouse sprinter`
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
9
User avatar
No.23064
cuavas
Administrator
31 days ago
I know "UI Release Pointer" doesn't work. It isn't hooked up. But MAME does release the mouse pointer on losing focus from Alt+Tab on Windows for me.

SDL builds (including Windows SDL builds) behave differently and always have. It's almost a feature at this point.

Anyway, actually fixing it properly requires major surgery to the interface to the OSD window object. It's on my TODO list, and I'm slowly getting through that stuff. Touch support was a major one. Supporting Chinese/Japanese/Korean text input is another one.
User avatar
No.23066
holub
Tester
31 days ago
@cuavas having it on your TODO list is enough for me to calm down.

Another thing which worth to mention debugger windows don't participate with Alt+TAB switch on Windows.
User avatar
No.23067
StHiryu
Tester
31 days ago
edited on: 30 days ago
@holub don't know if helps, but did you tried the different options for mouseprovider at the .ini files?
User avatar
No.23068
holub
Tester
31 days ago
edited on: 31 days ago
I don't have Windows myself, but I think per my dirrections reportes tried all different combinations of -mouse -mouseprovider and -video with no successful results

I also requested perform another pass of the tests with main UI. Per my observation it behaves slightly more reliable than dirrect driver.
User avatar
No.23069
cuavas
Administrator
31 days ago
The debugger windows not participating in Alt+Tab in WIndows builds is a “feature” as well. The debugger windows are created as “owned windows” of the main MAME window. This causes them to always be ordered above the MAME window, and to be treated as a single unit with it for Alt+Tab, etc.

The reason for this is that there’s no way to group windows by process or arbitrarily in the taskbar, they’re grouped by executable. If you have multiple MAME instances running with the debugger active, when you open a new debugger window with either instance, it gets added to the taskbar after all the existing windows from both instances. This makes it very difficult to work out which instance a debugger window belongs to.

You can change it easily enough if you really want to – just modify it to pass nullptr for the parent window when creating a debugger window: https://github.com/mamedev/mame/blob/mame0275/src/osd/modules/debugger/win/debugwininfo.cpp#L47
User avatar
No.23070
holub
Tester
31 days ago
Thought: can we allow to select this behavior with config option?
User avatar
No.23072
cuavas
Administrator
31 days ago
Yeah, it might be possible to have an option to turn off window grouping with the Win32 debugger.
User avatar
No.23073
cuavas
Administrator
31 days ago
Option to turn off window grouping for the Win32 debugger added here: https://github.com/mamedev/mame/commit/e27d69611cf866e1fb8fd650a814d38908e9f006
User avatar
No.23077
Robbbert
Moderator
31 days ago
For a short while I had -mouse as a default, because it lets you control the crosshairs with your mouse. But I soon discovered that the mouse was captured and often not even showing on many systems, to my great irritation, so I had to go back to -nomouse. So I only use -mouse on games that really need it.