How to use USB-in on an arduino?
It makes actually no sense to plug an USB-Controller via an Arduino to a PC. The direct way and using an autofire/macro /custom key programmer app is more efficient.


The Arduino UNO (with 32u4) can either replace an USB controller as demostrated in NicoHood HID library or 
additionally act as an interface for controller with strange vendor specific plugs demostrated in UNOJOY and you can build your own Controller/interface out of nearly every old non usb controller by cutting the hardware specific plug (e.g. old Xbox) and attach to an UNO who acts as "interface" to the PC. Another example is a C64-Joystick to the PC
The other option for using an Arduino is interfacing with "old video game systems" . For some there are already more or less succesfull projects. When connecting the USB controller via an USB shield you have normally a high lag time due to the USB shield library, so the better approach is to cut the USB plug and directly interface with the Arduino.


Project with USB Host-shield:


C64 - with USB Joysticks


Project old Joystick to USB-PC:


NES controller to PC USB


Project Arduino as controller for NES/SNES:


UNO to NES/SNES


Info on the pinout/protocol cn be found in this page