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:
{
"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" } ]
}
]
}