Step 10: Hardware Complete!
At this point, the hardware is complete. However, when plugged into a computer, it is still just a USB gamepad. Wiggling the stick and pressing the buttons does nothing, because Windows/Mac/Linux don't natively use a joystick as a means of input (they all want a mouse).
To really make it useful, we need some software to translate joystick motion to mouse motion. Here is where the program launching and talking parts come into play.
On to the software ...