or perhaps more to the point the
'w' for wheel and 'p' for pedals? you'll never finish.
My steering wheel combines 15 digital inputs (buttons) 3 analogue inputs
(2 pedals and the wheel itself). My joystick has 3 analogues (2 axes of
the stick + a throttle lever)
If one presumes that an int in the proposed InputEvent struct is enough
resolution for such things instead of a float, then one could just use a
for the type, distinguish between devices with code and the value in value.
This is pretty much how Windows does it. You have an input mapper for
your device and map which bit is which for DirectX. You can steer with
the pedals and control throttle with your wheel - which is fun, I can
tell you.