Controller support is HARD. Heck, any input management is hard but controllers are especially hard. You did great :)