Main > Software Forum
New ControllerRemap utility, 7/11/13 update available (Version 0.0.11)
MacGyver:
Any specifics Howard_Casto? I looked for about an hour, and all I found were posts of people describing the problem, but not understanding why. I understand why, and the fact mame doesn't lock the vendor & device id to "mouse #" by default is surprising. For me the "MADCATZ_GAMEPAD_YAXIS_UP" setting would be ok for the aimtraks, something like "ATRAK Device #1_YAXIS_UP" most likely, but my spinners and trackball don't enumerate as joysticks, and would probably never keep their "mouse #" moniker after a reboot or being unplugged.
Howard_Casto:
--- Quote from: MacGyver on March 30, 2011, 04:08:13 pm ---Any specifics Howard_Casto? I looked for about an hour, and all I found were posts of people describing the problem, but not understanding why. I understand why, and the fact mame doesn't lock the vendor & device id to "mouse #" by default is surprising. For me the "MADCATZ_GAMEPAD_YAXIS_UP" setting would be ok for the aimtraks, something like "ATRAK Device #1_YAXIS_UP" most likely, but my spinners and trackball don't enumerate as joysticks, and would probably never keep their "mouse #" moniker after a reboot or being unplugged.
--- End quote ---
It's been a year or two since I ran across it. I actually found it while mucking about in the source code so afaik it's an undocumented feature. I'll try to find an example for you guys later this week.
Howard_Casto:
Hmm.. it looks like it's been removed. There are remnants of it there, but at the top of the input.c file it reads:
--- Code: ---To do:
* auto-selecting joystick configs
* per-joystick configs?
* test half-axis selections
* add input test menu
* get rid of osd_customize_inputport_list
--- End code ---
But you know, it wouldn't be terribly hard to implement the use of joystick ids. The function for initalizing dx devices simply enumerates them in the order to which they are found, after that the variables are unchanged until mame exits. All that would have to be done is re-arrange the enumeration function to work via joyid. It would be helpful to get some other people to look at this, but I think it is quite possible to fix this issue with mame and submit it to the mame devs.
drventure:
Hey Howard
Yeah, I noticed something in the source (I'd been able to hone in on the input.c file), but from what it looked like to me, +everything+ in mame keyed off the ordinal of the enumerated devices, and the device info was simply stored in an array, in the enumerated order, which seemed like it'd make reworking that quite challenging, but, I'm definitely no MameDev, and I didn't spend a whole lot of time investigating either. The bigger prob is that I don't think you'd be able to just change the way the sticks are stored in the array, because you'd need to continue to support BOTH methods of identifying devices for backwards compat (otherwise peoples config files would get nuked). Maybe that's not a big concern though....
Using the Joystick ID's would be fine for sticks, but there's still an issue with Mice (ie trackballs and spinners) that are USB devices but aren't joysticks and can still move around when devices are plugged and unplugged. I suspect a solution that just uses stick ID's wouldn't quite cover the bases.
But, I'm happy to make my code open source if that'd help anyone. I'm not sure it would (it's all .net), and to be honest, I doubt I'm going to have any time to much around in Mame internals any time soon, other than just really simple tweaks. Which sucks, cause I'd like to :(
drventure:
And Howard.
No worries about "a better way". I'm always open to a better way!
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version