Keyboard works just fine for movement in anything except platforming, which needs sensitive movement, and fighting, which needs a d-pad for quick access.
A majority of the time, you do not need precise movement in an FPS. Pressing a button to move normally and holding the shift key to sprint works fine. The fact you have 8 other easily accessable buttons and a row of buttons assigned to weapons makes up for it. In combat, you don't want to have to scroll thru weapons, you just want to press 3 to get your shotgun up (of course this doesn't apply to games you only carry a couple of weapons). If you want me to list other examples, I could.
Basically what I am saying is that holding a PS2 controller or something in your left hand while using the mouse in the right for an FPS isn't very practical. Also, using a joystick to aim isn't as practical either as you have to stop aiming to press a button that is not on the shoulder.







