Putting it that way, it would change the OS specific end of MAME.
See, the problem I see, is that a USB DirectX8 HID device what includes multiple mouse / spinner pipelines hasn't been developed yet. Why? Because nothing uses it! (Except MAME that is
I'm not entirely sure DirectX would know what to do with it, since it wouldn't be handled like a Joystick, Mouse or what-not. It would be an entirely new device requiring it's own driver to tell DirectX how to handle the data comming in.
So... you come up with a nice, standardized way to pass that info through the driver layer, and into DirectX by writing a driver. You tell it, ok: The first interrupt is for the first "mouselike" device, and it's input comes in on pipes 1 and 2. The second interrupt is for the next mouselike device, and it's input comes in on pipes 3 and 4. Now, take the data from those pipes, and post them to some memory position that whatever the hells going to use them can see them.
Wonderful, you've now, by writing a driver, gotten DirectX to post the positional data from our new multi-XY analog axis hardware. Next step, you gotta tell MAME's OS layer where that data might be located.
Well, it's not defined as a joystick, so DirectX reports none. It's technically not a mouse, because the driver says it's not. Besides, Windows2000 only allows one "mouse" on a system, and that one's already accounted for. But, if MAME knows to look for some standardized "key" that DirectX is posting (like "Hey, I got a multi-XY analog axis device plugged in on the USB!") then it can be programmed to look for where that data is comming in.
I dunno dude. It might be much simpler than this. I welcome your criticism, and while I know quite a bit about Windows programming, I'll be the first to admit I don't understand DirectX mery much at all. What I do know is there exists a standard for input devices in recent versions of DirectX called HID devices. These are non-mouse, non-joystick, some other kinda device entirely things.
They have their own drivers that tell DirectX what to go do with it. It could be as simple as "There are a lot of data pipes attached to this device, turn the first 2 into standard system-mouse input, turn the next 6 into key-presses for the following keys. Turn the last pipe into a mousewheel up or down action depending on if the value increases or decreases..."
I mention a "driver standard" because when telling MAME to "look here for the input data if this weird HID device is installed" , all drivers for all weird HID devices meant for MAME must be set to tell DirectX to post the data to the same place.
I hope that made sence.
