Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Moza R3 buttons in MAME  (Read 3749 times)

0 Members and 1 Guest are viewing this topic.

connormmii

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 13
  • Last login:August 04, 2025, 04:19:00 am
  • I want to build my own arcade controls!
Moza R3 buttons in MAME
« on: July 30, 2025, 04:47:48 pm »
I recently purchased a Mazda A3 bundle for my main cabinet when I go to allocate the start button on the wheel to the start command in MAME it doesn’t recognise the button. The majority of buttons on the R3 can be used but there are a few that cannot. My question is is there a limit to how many buttons MAME can handle from controllers and if so is there a work around to select which buttons can be used. Thanks in advance

nugarp

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 308
  • Last login:Yesterday at 09:25:32 pm
  • I want to build my own arcade controls!
Re: Moza R3 buttons in MAME
« Reply #1 on: January 18, 2026, 01:23:41 am »
Since nobody has replied: it probably cuts off at 32. I noticed the same on an old build of supermodel. Haven't tried a newer build yet.

nugarp

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 308
  • Last login:Yesterday at 09:25:32 pm
  • I want to build my own arcade controls!
Re: Moza R3 buttons in MAME
« Reply #2 on: Yesterday at 02:47:21 pm »
It has come to my attention that some folks are using Wheel2XInput only for inputs, and not force feedback or rumble, and that gave me an idea: just map the buttons that are after button 32 as an xinput controller. I just tried with Supermodel and it took care of my issue of button numbers > 32 (input mode -dinput). Since I'm still using the axes from the directinput interface of the wheel directly, force feedback still works as expected through supermodel, completely skipping w2x. The below code will work for the ES wheel on the R5. I don't know if it will work for the ES Lite wheel on the R3, but if not, probably all you need to do is change the GUID per Wheel2XInput's readme. Maybe you have found a solution already, but hopefully this helps those who haven't found one.

As far as supermodel sees, the virtual xinput controller is JOY1, and my Moza wheel is JOY2. So now all Moza buttons > 32 are mapped to buttons in JOY1, and I can use all of the buttons on the wheel (although I only really cared to make Start work).

Edit: verified that this also works in MAME.

32button-limit.json:
Code: [Select]
{
  "guid": "00000003-346e-0000-0400-000000000000",
  "enableForceFeedback": 0,
  "enableRumble": 0,
  "disabled": 0,
  "pollInterval": 8,
  "detectControllerReconnects": 1,
  "blockKeys": 0,
  "buttons": [
    {
      "button": 32,
      "targetButtons": [ { "button": "A" } ]
    },
    {
      "button": 33,
      "targetButtons": [ { "button": "B" } ]
    },
    {
      "button": 34,
      "targetButtons": [ { "button": "X" } ]
    },
    {
      "button": 35,
      "targetButtons": [ { "button": "Start" } ]
    },
    {
      "button": 36,
      "targetButtons": [ { "button": "Y" } ]
    },
    {
      "button": 37,
      "targetButtons": [ { "button": "Back" } ]
    }
  ]
}
« Last Edit: Yesterday at 03:19:03 pm by nugarp »

buttersoft

  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1837
  • Last login:Today at 01:01:32 am
  • Is running at 15kHz
Re: Moza R3 buttons in MAME
« Reply #3 on: Yesterday at 07:17:55 pm »
Sounds good. Something i'm sure will crop up more in future as well!

How does it work? How do i make the json file, just paste into a txt file and rename it? And where do i put the file?

nugarp

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 308
  • Last login:Yesterday at 09:25:32 pm
  • I want to build my own arcade controls!
Re: Moza R3 buttons in MAME
« Reply #4 on: Yesterday at 07:39:32 pm »
How does it work? How do i make the json file, just paste into a txt file and rename it? And where do i put the file?

Install the VigEm drivers, download wheel2xinput.exe, copy the post above as something like 32button.json (maybe in a subfolder called config in wheel2xinput), and run wheel2xinput as follows:
Code: [Select]
wheel2xinput.exe config\32button.json
and it will spin up a new xinput controller mapping additional buttons from your wheel as an xinput input.

I do expect either it will be required more in the future or (better), the emulators will have updates that allow them to see buttons beyond #32.

Wheel2XInput thread is in my signature - https://forum.arcadecontrols.com/index.php/topic,166939.0.html
« Last Edit: Yesterday at 07:42:41 pm by nugarp »