The WPILib joystick class does not directly communicate with the joystick over USB, so it is unlikely to be very useful to you. The driver station communicates with the joystick over USB and sends the values to the robot over the network.
Depending on what platforms you need to support, there are a number of libraries for interfacing with joysticks.
I have used the
Jinput library in Java and it works well if you are writing your application in Java, although it is pretty old.
If you are using Python,
pygame provides a
joystick library, and there a number of other smaller libraries out there that may work.
If you only need to support Windows, and you use C/C++, you can use
XInput (the built in Windows joystick API).
SDL is a lightweight C game/3D graphics library that provides a
joystick library that can be used even if you don't use SDL for displaying your application. It supports Windows, Linux and OSX.
I have not used any of these except for JInput, so YMMV.
It may be possible to use some of
RobotOpen's libraries, which are designed to be used with their custom Arduino based robot controller. RobotOpen provides a driver station and Arduino code for communicating with it.