I want to be able to use the real controls on my cab, but most people won't. I also think that of the people who do want to use real controls, it will be a huge minority who will use more than a few.
I think the number of people using authentic controller would be 1 (you), and the number of people using analog stick to play 720 is 0 (zero).
I think that it is important to have all of the originals working first (and I admit to being biased). The other solutions can then be set up to simulate the real controls.
Of course, and there was a point in time when it was like that, but when they decided to set up other solutions, i.e. simulation of controls for different types of devices aka 'hacks', they placed it INSTEAD of the original one. -- The guy responsible seem to be that funny ignorant human person trying to hijack my thread by playing some silly games with 'masses, thinking everyone has the next eight years free to blabber about the most simple of problems while not actually solving it.
I don't know what the best solution is to make sure everyone is able to use the controller they have.
You do know, you just said it:
- "solution is to make sure everyone is able to use the controller they have"
Sure, there are many ways to *actually* do (write) this, to translate English to C, but whatever the "wording" you choose, if the translation is to be valid, it is the "meaning" that must remain the same:
switch [ MAPPED_DEVICE_ID ]
case KEY: goto KEY_HACK
case ANALOG: goto ANAL_HACK
case MOUSE: goto PROPER_WAY
Fake/real scheme is in one-to-one relation with PC input devices. There will always be only ONE type of input that directly translates to authentic arcade signal, all the other devices, having incompatible signal/data between each other, will be unsuitable for authentic input handling, hence requiring signal conversion/simulation (hack).
So, by simply using what we already have we can absolutely define distinction between "fake" and "real" control scheme, hence solving the problem with the minimum amount of changes and user involvement, no additional command line switches or new menus required - it's the simplest, least intrusive, and most elegant solution, thus it's the "best solution".