a643146a5496a2ca9a9f5f76e4f412dbb25893cf
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.)
Languages
C++
85.7%
Lua
4.3%
C
4.3%
Rich Text Format
2.3%
CMake
1.1%
Other
2%