are you using windows/xbox controller ?
I have dual analog working perfectly for windows/xbox controller but I am using raw data (you cant use the built in dead-zone and other features using raw but I hope to include compatibility with dual shock and other in future so setting up with raw instead)
for example right joy pad weapon angle code as below.
(this bit is just checking a deadzone)
+ System: distance(0,0,Gamepad.RawAxis(0, 2),Gamepad.RawAxis(0, 3)) = JOY_RIGHT_DEADZONE
(and this bit set angle)
-> System: Set WEAPON_ANGLE to angle(0,0,Gamepad.RawAxis(0, 2),Gamepad.RawAxis(0, 3))
( edit ) just to note that if you are not using xbox or windows/xbox controller then the button and axis numbers can be different you have to play around to find the numbers