If I may make a suggestion, when I had the same issue, I wanted to use all of the Gamepads buttons, on a keyboard it's tricky with the WASD, but you can counter that fairly well by using combinations.
Shift + Mouse Left Click = Left Shoulder Trigger
Shift + Mouse Right Click = Right Shoulder Trigger
(Naturally the Shift key is used by most programs as the go to modifier so most people are already accustomed to this.)
Q = Left Shoulder Button
E = Right Shoulder Button
(A lot of Gamepad games use the shoulder buttons for quick one-tap actions so you'd want something easy and close for the Player)
Joystick Emulation is tricky, but I think I found a fairly intuitive way to do it from my last Ludum Dare Comp Hazardisc.
Here's the event sheet...
You can see it in action here: http://ludumdare.com/compo/ludum-dare-32/?action=preview&uid=52436
Or direct link here: https://9f99f0434145e6afc61f2ecd3c33a991e6f09b75.googledrive.com/host/0B__ZM26gUqy0YWNSR2hCTURGUms/index.html
Basically you (1) Turn the Mouse into a Cross Hair, then (2) Pin an Arrow to your Player (3) Every tick set the angle of the arrow towards the crosshair. When you want to fire a projectile (4) Set the default angle of that projectile to the pinned Arrow.Angle, similar to a PC Bullethell Shooter.
If you want to simulate 8 Direction Aiming, have Have the Pinned Arrow Rotate 45 Degrees toward the Crosshair, this I'm currently using for a game I'm about to release on Steam.
Either way keep it up, the more of us developers that put more thought into Gamepad controls, the more we help it start to become the standard for PC gaming, I love how the past 2-3 years the X-Input quickly became an Industry Standard, if you need more specific help message me anytime BRAH.