Get a sixaxis controller of any kind.
They plug in through USB or can connect to bluetooth-capable devices, and you can download programs to run them on different platforms and re-map keys if you want.
Personally, I would recommend a sixaxis with programmable auto-fire (turbo) buttons. Makes for less wear on the buttons later on down the road as you won't need to press them nearly as often.