The `SDL` library returns joystick axes with the C type `int16_t`, which is a signed 16-bit integer. The range of that type is $\nobreak{[-2^{15}, 2^{15} - 1] = [-32768, 32767]}$ ($2^{15}$ rather than $2^{16}$ because it is a signed integer).
We need to map that onto the range $[-100, 100]$, representing percentage of thrust and direction of thrust.
Here's some example code along with an explanation for doing this linear transformation. I recommend you plug the function into a graphing tool like [Desmos](https://www.desmos.com/calculator) to see understand how it works.
## Arcade control
See Alex's guide: [Explanation: Arcade Control](/training/intermediate-arcade-control)