Actually it should be quite simple to use the second joystick for player 2 in GameDev if you are using scripting. Just call
ProjectObj.GamePlayer.PollJoystick(1)
during OnBeforeMoveSprites or OnAfterMoveSprites, and then you can use ProjectObj.GamePlayer.JoyX and ProjectObj.GamePlayer.JoyY to get the position of the joystick. You can use the JoyButton1-JoyButton4 properties to get the state of the buttons. If you are using the default player object (rather than creating an extra copy) you will no longer be able to access the controller state for player 1, though. If you need help creating an extra player object to track separate states of the two players so you can freely check each player's controller at any time, I could probably help with that.
If you want the joystick to also set the state of the JoyActions property and raise events, you can call ProjectObj.GamePlayer.JoyMove after calling PollJoystick. Again, if you are using the default player object, though, you might have trouble separating player 1 events from player 2 events. If you had separate player objects, you could have separate events for each player, though. (One of these days I'll have to show people how to implement multiple players properly.)