I wrote a program to use my MS sidewinder joystick for train control.
Right now it is not easy to configure and not very user friendly.
If there are people who want something like this let me know and I will work on it being a bit easier to use/share it.