What you need:
-Wired xbox360 controller
-JoyToKey (Download Here (I was nice enough to include my config so it will work immediately))
Lets get started!
Make sure your controller is connected and open JoyToKey. The left hand side displays your configurations. You can multiple configurations to use for certain tasks (one for mouse movement, one for gaming, etc.). On the right hand side you'll see a long list that consists of "Button", "Keyboard", "Auto". This is where you define what the buttons (thumbsticks and directional pads count too) do. However, by default this list doesn't show every component of the Xbox 360 controller.
Click the tab on the very right labeled "Others". Here you can change the number of joysticks for this configuration. Adding more joysticks to configure allows the same customization of a separate configuration, but the you can only switch to different joystick configurations (Joystick 1, Joystick 2, etc.) temporarily (while a button is held down) where you can toggle between configurations (press once to switch, press again to switch back). To view the full range of buttons of the Xbox 360 controller click "Use Axes other than X and Y." and "Use POV switches".
Now, push the "Joysticks" tab to switch back to the list. You'll notice a lot more buttons are available for us to configure. Here's a rundown of what each button on the controller is listed as in the list.
Left Thumbstick Left = AxisX(<0)
Left Thumbstick Right = AxisX(>0)
Left Thumbstick Up = AxisY(<0)
Left Thumbstick Down = AxisY(>0)
Right Shoulder = Axis3(<0)
Left Shoulder = Axis3(>0)
Right Thumbstick Left = Axis4(<0)
Right Thumbstick Right = Axis4(>0)
Right Thumbstick Up = Axis5(<0)
Right Thumbstick Down = Axis5(>0)
Directional Pad Up = POV1:UP
Directional Pad Right = POV1:RIGHT
Directional Pad Down = POV1:DOWN
Directional Pad Left = POV1:LEFT
A = Button 1
B = Button 2
X = Button 3
Y = Button 4
Left Bumper = Button 5
Right Bumper = Button 6
Back = Button 7
Start = Button 8
Left Thumbstick = Button 9
Right Thumbstick = Button 10
Alternately, if you have a Ps3 controller you can use the mappings
RIGHT (D-PAD R)
UP (D-PAD U)
DOWN (D-PAD D)
BUTTON 1 - TRIANGLE
BUTTON 2 - CIRCLE
BUTTON 3 - CROSS (X)
BUTTON 4 - SQUARE
BUTTON 5 - L-2
BUTTON 6 - R-2
BUTTON 7 - L-1
BUTTON 8 - R-1
BUTTON 9 - SELECT
BUTTON 10 - START
From here you can configure the buttons manually, download the configurations I use, or do a little of both. To assign a value to a button you simply double click it in that list. You'll be presented with a bunch of options. "Disable" does just what it says. "Keyboard" allows you to assign a certain keystroke (or a combination of up to three keystrokes) to that button. "Mouse" allows you to move the mouse pointer, scroll wheel, and use the mouse buttons. "Command" does nothing at the moment. "Special" lets you speed up or slow down the movement of the pointer, temporarily use another joystick configuration, or switch to a different configuration. With the config included in my file:
The right trigger is mine/punch
The left trigger is place blocks/action
Left thumbstick is move
Right thumbstick is look/move mouse
A is jump
X is open inventory
Left bumper is crouch
And start is open menu. You can change the file further to incorporate your favorite mods. I couldnt figure out how to open on screen keyboard with a touch of a button.
Please let me know if I missed anything and i will add it. Any constructive criticism is appreciated! Please leave a reply if this worked for you!
Thanks to Beta_Failure for the Ps3 controller mapping!