me, so I'm cleaning it up.
Add "level" parameter to DeviceInput, indicating the degree the axis
or button is depressed. If it's < 0, it's not an analog input; otherwise,
IET_LEVEL_CHANGED events will come in when the level changes.
Add secondary stick axis inputs, so there's a correct place to put them.
Handle these inputs in ScreenCenterImage. Inputs mapped to gameplay
inputs are always a primary input; otherwise, the first stick is translate
and the secondary is scale. Input is analog when possible; holding shift
reverses the map, so keyboard input works roughly the same as before.
Do away with the special Xbox-specific centering code; use the standard
centering matrix. If this doesn't work, any special cases to fix it should be
hidden away in RageDisplay_D3D.
The input maps are likely to work on the Xbox as is, since the SDL driver
maps axes in order, but I can't test it.
This won't work with PS2 converters, since #1: those things map the
secondary axis to seemingly random places (on mine, JOY_Z_UP,
JOY_Z_DOWN, JOY_ROT_Z_UP, JOY_ROT_Z_DOWN), and #2: they
don't identify themselves uniquely. Unless there's a pattern in how they're
mapping that I can't see (since I don't have many converters), this just
can't be done reliably. (No big deal; PCs have keyboards.)