Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08568 DIP/Input Minor Always Feb 23, 2023, 17:23 Feb 26, 2023, 00:54
Tester ICEknight View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows 10/11 (64-bit)
Status [?] Acknowledged Driver
Version 0.252 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 08568: UI issues when using GC controller hubs and pressing the analog triggers or Alt+Tab
Description With a GameCube controller hub connected, even if no actual controllers are plugged in, switching between programs in Windows with Alt+Tab while in the main systems menu causes the UI to constantly switch between its different tabs. The analog C stick has its left and right directions to the "Z rotation" value which is supposed to do "UI Previous Group" and "UI Next Group" by default. This may be a calibration-related thing (there's no way to apply a deadzone to the C-Stick) but, as mentioned earlier, also happens when no controllers are plugged in.

A similar effect also happens in the UI while in-game when actually plugging in a controller and pressing, then releasing the R analog trigger. L and R register as "X rotation" and "Y rotation" respectively, with values ranging from 65536 (fully pressed) to -65536 (default, fully released). In this case, it's using the "Y rotation" value for doing "UI Page UP" and "UI Page Down".

In both cases, the initial R analog value and C Stick's X value are first considered their default state and thus no problematic behavior happens, but this doesn't apply anymore after switching between apps or just pressing and then depressing R.
Steps To Reproduce Either:
-Connect a GameCube controller hub.
-Run MAME.
-Press Alt+Tab.

Or:
-Connect a GameCube controller hub.
-Run MAME.
-Start a game.
-Open the UI.
-Press, then depress the R analog trigger.
Additional Information
Github Commit
Flags
Regression Version 0.252
Affected Sets / Systems
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
9
User avatar
No.21094
Robbbert
Senior Tester
Feb 23, 2023, 23:29
Full screen, or windowed?

Either way, I could not replicate this. All worked as it should.
User avatar
No.21095
ICEknight
Tester
Feb 24, 2023, 02:27
edited on: Feb 24, 2023, 02:28
Full screen, tried in two very different computers and it happens in both. Didn't happen in the previous official MAME release.
User avatar
No.21098
ICEknight
Tester
Feb 24, 2023, 20:05
Did some more testing and it only seems to happen when a GameCube controller hub is connected, even if no controllers are plugged in.

This effect also happens in the UI while in-game when actually plugging in a controller and pressing, then releasing the R analog trigger. L and R register as "X rotation" and "Y rotation" respectively, with values ranging from 65536 (fully pressed) to -65536 (default, fully released), but after that value is changed it's no longer considered the default value and MAME thinks it's being pressed.
User avatar
No.21099
Robbbert
Senior Tester
Feb 25, 2023, 12:17
I don't have any controllers so unable to try this.

There were a lot of changes to controllers and inputs during the 251-252 cycle, so it's either a bug or a misunderstanding of how things work now.

Hopefully the person responsible will have a look.
User avatar
No.21104
cuavas
Administrator
Feb 25, 2023, 21:03
edited on: Feb 25, 2023, 23:21
Just manually unassign those controls if you're using one of these adapters. Rx and Ry are the right stick on Xbox, Switch and Wii U controllers in DirectInput mode. The defaults need to work with common controllers.

There's no semantic information about axes available with DirectInput, so MAME has to guess where the neutral position is. It usually guesses the centre of the range, which works for stick axes and combined pedals. It tries to guess which axes are pedals for driving controls, although without any to test with, I don't know which controllers do or don't work properly.

What axes does the C stick appear as with that adapter?
User avatar
No.21106
cuavas
Administrator
Feb 25, 2023, 21:07
Actually, if Rz is the horizontal axis on the C stick, that's a completely unintuitive way of mapping the controller onto DirectInput. Logitech and PlayStation controllers have right stick vertical on Rz. I don't think it's possible to support this adapter out-of-the-box given it uses such a bizarre mapping.
User avatar
No.21119
Robbbert
Senior Tester
Feb 25, 2023, 22:49
As a suggestion @ICEknight, have a look at cuavas's comments in MT 08569, they might apply to you too.

Also, there's https://docs.mamedev.org/advanced/ctrlr_config.html although since it's undated I do not know if it takes the latest changes into account.
User avatar
No.21120
cuavas
Administrator
Feb 25, 2023, 23:21
That docs page was updated for 0.252. And yes, using a controller config file is a good option for changing the initial assignments.
User avatar
No.21121
Robbbert
Senior Tester
Feb 26, 2023, 00:54
edited on: Feb 26, 2023, 22:47
Just a suggestion for the docs, include the date last updated, and also the first version of mame that it applies to.

I'm always confused as to whether it's up to date or not.

Up to you of course.