I can't really play games using the keyboard and mouse that well as I would be a console junkie, so I use my playstation joypad to play games on PC as its just easier. I know of people who use a joypad or joystick instead of the keyboard for WASD and still use the mouse to look as well. It hasn't not worked on any game or demo I've played, and it's nice to have the option of twiddling your thumbs instead of hammering a keyboard looking for the right key.
This can be done by mapping your keyboard controls to buttons on the joypad (any type recognised, which is almost all types known to man) using ControlMK, found here:
http://www.redcl0ud.com/controlmk/
Instructions on how to set it up can be gotten here (its in section V, Configuring and Using ControlMK):
http://www.redcl0ud.com/files/XBCD.pdf
Long story short, select your joypad type from the dropdown list for both "controllers found" and "activate controllers", then create a new profile (you can have multiple configurations for different games using different profile names).
Click on a joypad command (X-, X+, etc), then select the function from the keyboard/mouse that you want it to emulate from the dropdown list on the pop up window. When all keys are mapped save, then select export from the arrow on the top right (beside Profiles text) and save that too, at which point the joypad should become active.
Open a text file and press the buttons to make sure it worked alright.
You can use ControlMK to do analog stick controls for mouse and directions in conjunction with JoytoKey, another program that allows keys to be mapped onto a joypad, but also allows for multiple configurations to be set up on the same profile (i.e, you could have a configuration for the world map by pressing 1, then a different configuration for battles using 2, etc). Hope this helps a few people and makes the game that bit easier to play.