Oh right and I forgot to mention, practical example.. I made a combined keyboard / joystick driver for running MAME. So it can press '1', '2', '5', and 'esc' for 1up, 2up, coin insert and return to menu. It also works great as a regular joystick. Since it's just a normal USB human interface...