When using the joystick module for a gamepad. I always end up having a lot of issues between platform/controller/driver. For example the joystick y inputs might be flipped on windows for the same controller. Something that might aid in being able to detect what controller is being used and thus using it correctly would be having a way to know the name or driver name of the controller plugged in.
So for example the API might look like: static sf::String sf::Joystick::getInfo(unsigned int joystick);
I might look into how this could be done within sfml.