Je ne pense pas que tu auras le temps de développer un wrapper, même seulement pour le joystick. Tourne toi vers des wrapper existant.
Regarde avec google "wrapper directx c#"
Il y a quelques lien DirectX Wrapper(ils parlent du joystick GetJoystickState) SlimDX ou SharpDX etc. (il y en a peu être d'autres)
Tu trouveras peut être une librairie libre d'utilisation (attention aux licences pour l'utilisation) vérifie avant qu'ils prennent en compte le joystick.