There is no easy way to do this because the system that governs joysticks in Windows doesn't allow for that.
Manipulating a joystick requires a driver, as unlike keyboards and mice, there is no central interface that keeps track of device states, it's done per-device.
Moreover, while the keyboard and mouse interface is designed to allow software-only input(virtual keyboards, for example), the joystick interface is not.
This is the reason you need vJoy, and why it's not possible to "fake" button presses on an existing device(certain manufacturer drivers may allow this from their own companion software, but they're designed to take software input at the driver level, which circumvents this restriction).