This Instructable will show you how to install the XBox 360 controller on your PC, and how to get it to work with Source. I've wanted to put a controller on my computer for some time now. It all started with reading Maximum PC's review of the controller, they said you could do it but didn't show you how. You can buy two types of wired controllers the regular one and the windows one, which comes with a driver CD. This is how to do it the cheaper way without the CD.
Step 1: Buy Controller
This is the most expensive part, go to your local big box electronics store i.e. Best Buy or Future Shop and buy the wired XBox 360 Controller. Also if you don't have Day of Defeat Source buy it, its god(not just good GOD!). The controller will probably set you back fifty bucks and if you have a 360 it can pull double duty or you could use a wireless one with the charging cord in it.
Step 2: Open It Up
Now this isn't open heart surgery or anything just take your scissors and cut open the package. Pull out the controller and pull out the cardboard and look for this piece.
Step 3: Plug It in Plug It In
Plug in the controller and watch it light up once the found new hardware box opens up tell it to piss off. What ever you do don't use windows update it takes forever and may fail.
Step 4: Go Get the Drivers
To download the driver go to www.windowsgaming.comand click Hardware, then Controllers then pick the wired XBox controller and click download drivers. Now fill out your info and run what downloads. If you get confused at all after this step follow the pictures and they will tell you what to do.
Step 5: Set Up Source
Take the file thats on this page and put it in the location:
C:\Program Files\Steam\SteamApps\<username>\<game>\<abbreviated game>\cfg
Then open Source and go to Options and check the boxes joystick and joystick look.
It's easier to play if you lower your sensitivity as well.
Then in the Console(~) type exec joystick
bind "JOY1" "+jump"
bind "JOY2" "+reload"
bind "JOY3" "+speed"
bind "JOY4" "+use"
bind "AUX5" "+attack2"
bind "AUX6" "+attack"
bind "AUX7" "impulse 100"
bind "AUX9" "+duck"
bind "AUX10" "+zoom"
bind "AUX29" "lastinv"
bind "AUX30" "invnext"
bind "AUX31" "phys_swap"
bind "AUX32" "invprev"
Step 6: Final Thoughts
If after adjusting anything in Options you can't firere-enter those bind values. By the way no games support the triggers so you have to use the shoulder buttons to fire.